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 version in 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 become Available before 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 Compute tab, there should be Node group pane with AMI release version column.
  • Next to each cell in AMI release version column there’s an Update now link.
  • Click on Update now for each node group, make sure Update strategy is Rolling update then click Update

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 Active state. I usually check the nodes using k9s but you can use kubectl, lens or AWS console itself to verify the nodes are not stuck in Not Ready state.
  • Once all nodes are updated and in Ready state, you can update the Add-ons.
  • Go to Add-ons tab 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 Default version if I’m not sure about version compatibility. Default version 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.