EKS Upgrade Steps
The steps outlined below are part of Updating an Amazon EKS cluster Kubernetes version document by AWS. For complete documentation use that document for reference.
AWS Console
- Login to AWS Console and navigate to EKS Service then select the cluster you need to upgrade.
- Click on
Upgrade versionin the top right corner of the page. - Select the next minor release of kuberentes (the only available option)
- Click
Upgrade - If you referesh the page, the cluster status should be set to
Updating. Wait for the cluster to becomeAvailablebefore executing the next steps.
Sometimes the upgrade might fail without an error (timeouts, etc). If so, repeat the above steps until the cluster is upgraded.
- Once cluster upgrade is done, the nodes need to be upgraded to match the cluster version.
- Navigate to
Computetab, there should beNode grouppane withAMI release versioncolumn. - Next to each cell in
AMI release versioncolumn there’s anUpdate nowlink. - Click on
Update nowfor each node group, make sureUpdate strategyisRolling updatethen clickUpdate
While all node groups can be updated simulatenously, I prefere updating them one-by-one to avoid cascading failures
- Wait for all node groups to be in
Activestate. I usually check the nodes usingk9sbut you can usekubectl,lensor AWS console itself to verify the nodes are not stuck inNot Readystate. - Once all nodes are updated and in
Readystate, you can update the Add-ons. - Go to
Add-onstab and check if any add-ons have updates and perform the updates.
Add-on versions do not necessarily match kuberenetes versions. To avoid version mismatches, I usually upgrade the add-ons to their
Defaultversion if I’m not sure about version compatibility.Defaultversion is the version that would have been installed on a newly created EKS cluster, so it should (in principle) match the n-1 version of kubernetes version. If in doubt, lookup “Compatibility Matrix” for the add-on you’re trying to update.