Updating the worker nodes
Deploying the cluster initially is a start. In the future, you’ll also need a way to roll out updates:
Updating the control plane
EKS has built-in support for updating the control plane; the eks-cluster-control-plane
module has built-in support
for updating the plugins EKS uses, such as aws-vpc-cni
, coredns
, and kube-proxy
. So, if you bump your Kubernetes
version and run terragrunt apply
, EKS will automatically roll out new master nodes with the new version installed,
and the eks-cluster-control-plane
module will automatically execute a Python script that will update all the plugin
versions as described in the
official upgrade guide.
info
AWS warns that you may "experience minor service interruptions during an update." See Updating an Amazon EKS Cluster Kubernetes Version for more info.
Updating the worker nodes
EKS does not have a built-in way to update the worker nodes without downtime. If you need to update the worker nodes—e.g., roll out a new AMI—your best bet is to use the kubergrunt deploy command, which can do a zero-downtime rolling deployment of the worker node Auto Scaling Group:
kubergrunt eks deploy --region <AWS_REGION> --asg-name <AUTO_SCALING_GROUP_NAME>