Skip to content

Considerations for In-Place Upgrades to Amazon EKS v1.24

Recently, AWS added support for Kubernetes v1.24 for their Amazon EKS offering. One significant change with this version is the removal of Dockershim as the Container Runtime (CRI). Amazon EKS clusters v1.24 onwards are standardized on "containerd".

New Amazon EKS v1.24 clusters are provisioned with containerd. Watch a brief video showcasing how customers can use Rafay to configure and provision an Amazon EKS v1.24 cluster.

When EKS clusters are upgraded to v1.24, the nodes in the EKS cluster's data plane are seamlessly migrated from "Dockershim" to "containerd".

graph LR
  A[Dockershim] --> B[Containerd];

Although this transition is mostly "behind the scenes" for users, the transition from Dockershim -> Containerd can cause disruptions to deployed applications that may be dependent on Docker. In this blog, we will look at what Rafay has done to protect our customers during an in-place upgrade to EKS v1.24.

How does Rafay help?

For our customers that use the Rafay Kubernetes Operations Platform for "Lifecycle Management" of Amazon EKS clusters, the platform provides peace of mind and simplicity with upgrades of Amazon EKS clusters.

For in-place upgrades of Amazon EKS clusters to Kubernetes v1.24, users will experience a "seamless" and "zero impact" upgrade. We have specifically implemented "pre-flight logic" that will block the upgrade from proceeding if it detects that there are existing applications dependent on Docker.

  participant Admin
  participant Controller
  participant EKS Cluster 
  participant App
  Admin->>Controller: Upgrade EKS Cluster to v1.24
  App->>EKS Cluster: App using Docker
  activate EKS Cluster
  Controller->>EKS Cluster: Pre-Flight Check Failure
  Controller->>Admin: Upgrade Blocked
  App->>EKS Cluster: App updated to use Containerd 
  deactivate EKS Cluster
  Admin->>Controller: Upgrade EKS Cluster to v1.24
  Controller->>EKS Cluster: Pre-Flight Check Success
  Controller->>EKS Cluster: Cluster upgraded to v.124 
  Controller->>Admin: Upgrade Successful

Shown below is a screenshot showcasing a "failed pre-flight" check for the in-place upgrade where it detected a deployed application using Docker. Once these applications are either removed or updated to use containerd, the pre-flight checks will pass and upgrade can continue.

Pre Flight Check

Watch a video showcasing the in-place upgrade of an Amazon EKS cluster from Kubernetes v1.23 to v1.24. Notice the Container Runtime seamlessly transition from Docker to Containerd as part of the process.

Learn More?

Click on the button below if you are interested in learning more about how the Rafay Platform can help you with "Kubernetes Operations" for Amazon EKS

Kubernetes Operations for EKS