EKS

Amazon EKS is a managed container service for deploying and operating Kubernetes on AWS, where AWS provides a hosted control plane (master nodes and etcd) in a highly available configuration spanning multiple AZs.

Concepts

  • Clusters are hosted, single-tenant control planes.
  • Each cluster may have one or more:
    • Managed Node Groups, where an Auto Scaling Group allows scaling in or out the worker nodes.

Scenarios

Control plane is AWS-managed.

On AWS

Worker nodes can be hosted either Fargate or EC2.

On Outposts

EKS clusters can be deployed to Outposts.

EKS Anywhere

Anywhere allows deployment of EKS on-premise using Docker for local development and VMware vSphere in production, with other deployment options scheduled for 2022.

EKS Distro

EKS Distro is an Open source Kubernetes distribution maintained by AWS.

Operation

Clusters can be maintained through the eksctl CLI, the aws CLI, or the AWS Console.

Upgrades

Upgrading the version of Kubernetes in use on an EKS cluster involves:

  • Launching new API server nodes of the new version, verifying that they're functioning correctly and replacing the old API server nodes.
  • Updating the worker nodes to the same Kubernetes minor version.
  • If deployed, upgrading the Cluster Autoscaler to the latest version that matches the Kubernetes minor version.
  • If using GPU nodes, updating the NVIDIA device plugin for Kubernetes.
  • Updating the VPC CNI, CoreDNS, and kube-proxy addons.

Backlinks