AWS › Amazon EKS (Elastic Kubernetes Service)

What strategies are available for performing zero downtime upgrades of an EKS cluster's Kubernetes version?

Advanced

Answer

Upgrading an EKS cluster typically involves first upgrading the managed control plane to the new Kubernetes version, then gradually upgrading the worker nodes, often using a managed node group's rolling update capability or by creating a completely new node group on the newer version and gradually migrating workloads over before removing the old nodes, all designed to avoid dropping application traffic during the transition.
aws eks update-cluster-version --name my-cluster --kubernetes-version 1.29
Real-world example A platform engineering team upgrades a production EKS cluster by first testing the new Kubernetes version in a staging cluster, then creating a new node group on the updated version in production and slowly draining workloads from the old nodes before decommissioning them.

Common follow-ups: What can go wrong if worker nodes fall too far behind the control plane version?;How do you test an upgrade safely before applying it to production?