DevOps/Kubernetes/EKS

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.

Creation your first EKS Cluster [3]

edit
0) Prerequisites: kubectl and aws-iam-authenticator (a tool to authenticate to Kubernetes using AWS IAM credentials)[4]
On MacOs: brew install aws-iam-authenticator and brew install kubernetes-cli
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

edit

EKS is more expensive than ECS for small clusters.

See also

edit
  1. https://aws.amazon.com/blogs/aws/amazon-eks-now-generally-available/
  2. https://aws.amazon.com/blogs/opensource/continuous-delivery-eks-jenkins-x/
  3. https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html
  4. https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html
  5. https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/