DevOps/Kubernetes/EKS
< DevOps | Kubernetes
AWS Elastic Kubernetes Service (EKS) is a managed Kubernetes solution for running containers available in AWS cloud platform since June 2018 [1]. EKS can be managed using Jenkins X software [2]. Other AWS services for running containers are ECS or Fargate.
By default EKS provides 3 master nodes and 3 etcd nodes, but are invisible to you and Amazon is responsible of AutoScaling them when needed.
- 0) Prerequisites:
kubectl
andaws-iam-authenticator
(a tool to authenticate to Kubernetes using AWS IAM credentials)[4]- On MacOs:
brew install aws-iam-authenticator
andbrew install kubernetes-cli
- On MacOs:
- 1) Create a new service role
- 2) Create a new VPC for you new EKS Cluster using this CloudFormation template from AWS: https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html
- 3) Create EKS Cluster from AWS Webconsole, user used for creating EKS Cluster will be the initial administrator.
- 4) Create Worker Nodes using AWS Cloudformation template https://github.com/awslabs/amazon-eks-ami/blob/master/amazon-eks-nodegroup.yaml
- 5) Install Kubernetes dashboard[5]
Costs
editEKS is more expensive than ECS for small clusters.
See also
edit- AWS ECS container services
- CNI - Container Network Interface
- AWS EKS getting starting guide: https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html
- DevOps/Kubernetes/Google Kubernetes Engine
- ↑ https://aws.amazon.com/blogs/aws/amazon-eks-now-generally-available/
- ↑ https://aws.amazon.com/blogs/opensource/continuous-delivery-eks-jenkins-x/
- ↑ https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html
- ↑ https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html
- ↑ https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/