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.
sequenceDiagram 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.
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.
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