Kubernetes is available on AWS as a managed service: AWS takes care of the control plane (replacing unhealthy nodes, automated updates), you take care of worker nodes. This saves you a lot of setup and maintenance work. Of course the control plane is highly available as it is deployed across multiple availability zones.
You can use ECR to store container images, EBS volumes for your persistent volume claims, ELBs for you load balancer services and IAM to map users and groups to your cluster.
In this tutorial we’ll use eksctl, a simple command line utility for creating and managing Kubernetes clusters on Amazon EKS. AWS requires creating many resources such as IAM roles, security groups and networks, and by using eksctl, all of this is simplified.
eksctl create cluster --name dev-citizix --managed
Feel free to go grab a coffee – this usually takes 15 minutes. When it’s finished, you should have kubectl context configured to communicate with your newly created cluster.
Let’s verify everything is fine:
kubectl version
Get clusters
eksctl get clusters
Export kubeconfig
aws eks --region us-west-2 update-kubeconfig --name non-prod-iac
Get cluster nodes
kubectl get nodes -o wid
Get nodegroups
eksctl get nodegroup --cluster non-prod-iac
Upgrade cluster
eksctl upgrade cluster --name non-prod-iac --approve
Delete cluster
eksctl delete cluster -f cluster.yaml