Update EKS Node Groups
The compute infrastructure of the Amazon EKS Kubernetes cluster is an EKS node group. The individual nodes that make up the node group are Amazon EC2 instances. You may occasionally want to update the EC2 instances in the EKS node group for the following reasons:
- To apply operating system patches to the EC2 instances.
- To change the type of the EC2 instances.
note
Most new versions of CloudOps for Kubernetes include upgrades to new Kubernetes versions. When you apply a CloudOps for Kubernetes update, the upgrade process will also update the EKS cluster’s node group. For more information about upgrading Cloudops for Kubernetes, see Upgrading CloudOps for Kubernetes.
Overview of Updating the EKS Nodegroup
The process to update the EKS node group and its EC2 instances requires rebuilding the node group. This process does the following:
- Creates a new replacement node group, consisting of new EC2 instances.
- Reschedules all Kubernetes pods onto the new node group.
- Deletes the old node group and the old EC2 instances.
warning
There will likely be a Self Managed Commerce service outage while the EKS node groups are rebuilt. A Self Managed Commerce service outage duration of up to 15 minutes has been observed in our testing.
The Jenkins server will be unavailable for a period of time while the EKS node groups are rebuilt. Any Jenkins jobs running during this time will fail.
Procedure
Update the EKS node group setting TF_VAR_rebuild_nodegroups
to true
in your docker-compose.override.yml
file. For more information about applying changes to your cluster configuration, see the Updating Cluster Configuration documentation.
It may take a long time for the procedure to complete. The exact amount of time varies, but it can take 20-60 minutes.
tip
We recommend setting TF_VAR_rebuild_nodegroups
to false
in the docker-compose.override.yml
file after the procedure is complete. This is to avoid accidentally rebuilding the node group if you make other cluster configuration changes in the future.