TODO
- Revoir la vidéo pour parler des eksdemo
Tools needed for EKS¶
This article outlines essential command-line tools for provisioning and managing Amazon EKS clusters.
Before you dive into provisioning and operating Amazon EKS clusters, equip yourself with these essential command-line tools. While our workshop may not invoke every utility directly, you’ll rely on them for automated deployments, secure authentication, and ongoing cluster maintenance.
| Tool | Purpose | Documentation |
|---|---|---|
| eksctl | Official EKS CLI for cluster lifecycle management | [eksctl on GitHub][eksctl-docs] |
| eksdemo | Demo workloads and add-on deployment using eksctl | [eksdemo on GitHub][eksdemo-docs] |
| AWS IAM Authenticator for Kubernetes | kubectl plugin for AWS IAM–based authentication |
[AWS IAM Authenticator][iam-authenticator-docs] |
eksctl: The Official EKS CLI¶
eksctl streamlines cluster creation, updates, and deletion by generating CloudFormation stacks under the hood. Use it to manage control plane versions, node groups, and scaling policies—all via simple commands or declarative config files.
Installation¶
# macOS via Homebrew
brew tap weaveworks/tap && brew install weaveworks/tap/eksctl
# Linux via curl
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" \
| tar xz -C /usr/local/bin
eksctl version matches your EKS control plane version. Check compatibility in the [eksctl release notes][eksctl-docs].
Quick Start¶
You can refine your cluster by:
- Command-line flags\ Specify region, node type, AMI, or cluster name directly.
- YAML config file\ Define multiple node groups, custom VPC settings, CIDR blocks, tags, and more.
# example-cluster-config.yaml
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: my-eks-cluster
region: us-west-2
nodeGroups:
- name: ng-small
instanceType: t3.medium
desiredCapacity: 2
eksdemo: Automate Post-Creation Workloads¶
eksdemo builds on eksctl to not only manage your EKS cluster but also deploy sample applications, Helm charts, and recommended add-ons with a single command.
- Deploys demos like NGINX, MySQL, or observability stacks
- Installs add-ons: Karpenter, Metrics Server, Cluster Autoscaler
- Applies best-practice labels and annotations
Note
Leverage eksdemo to validate your cluster setup and speed up learning with preconfigured demos and add-ons.
AWS IAM Authenticator for Kubernetes¶
To securely interact with your EKS cluster’s Kubernetes API, install the AWS IAM Authenticator plugin for kubectl. It transparently signs API requests using your IAM user or role credentials.
Installation¶
# macOS via Homebrew
brew install aws-iam-authenticator
# Linux via curl
curl -o aws-iam-authenticator https://amazon-eks.s3.us-west-2.amazonaws.com/latest/2023-03-11/bin/linux/amd64/aws-iam-authenticator
chmod +x aws-iam-authenticator
mv aws-iam-authenticator /usr/local/bin/
How It Works¶
- You run a
kubectlcommand against your EKS cluster. - The authenticator plugin signs the request with AWS IAM and STS.
- The EKS API server validates your IAM identity and applies RBAC controls.
Warning
Without the IAM Authenticator plugin, kubectl cannot authenticate to your managed EKS cluster.
Now that you have the key tools installed, you’re ready to explore Amazon EKS architecture: Node Groups, auto scaling, VPC networking, and more.
References¶
- eksctl on GitHub: Weaveworks/eksctl
- eksdemo on GitHub: aws-samples/eksdemo
- AWS IAM Authenticator: amazon-eks/aws-iam-authenticator
- Kubernetes Basics: Kubernetes Documentation