Considerations for In-Place Upgrades to Amazon EKS v1.23¶
Earlier this year, AWS added support for Kubernetes v1.23 for their Amazon EKS offering. One significant change with this version is with the Container Storage Interface (CSI) for working with AWS Elastic Block Store (Amazon EBS) volumes.
Specifically, the updates to the CSI driver require customers to take action to ensure a seamless upgrade process for EKS clusters from previous versions. The CSI was developed in Kubernetes to replace the in-tree driver. With the CSI, there is now a simplified plug-in model that makes it easier for storage providers to decouple their releases from the Kubernetes release cycle.
graph LR A[In-Tree Storage Driver] --> B[CSI Plugin for EBS CSI];
In a nutshell, this transition is good for Amazon EKS users because they do not have to upgrade Kubernetes versions for their EKS clusters just to get some additional functionality or bug fixes for EBS storage via the "in-tree driver".
A large number of users of Amazon EKS utilize Amazon EBS volumes. They need to make sure that they install the Amazon EBS CSI driver before upgrading their EKS clusters to v1.23.
If the Amazon EBS CSI plugin is not installed, then all volume operations including provision, attach, mount, and resize fail. This can result in application downtime.
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 EKS Upgrades.
For in-place upgrades to Kubernetes v1.23, they will experience a "seamless" and "zero impact" upgrade. We have implemented business logic where we automatically deploy the "EBS CSI driver" when the user initiates an upgrade of their managed EKS clusters to Kubernetes v1.23.
sequenceDiagram Admin/User->>Controller: Initiate upgrade of EKS Cluster to Kubernetes v1.23 App->>EKS Cluster: App using In-Tree Storage for EBS Controller->>EKS Cluster: Auto Deploy the EBS CSI Driver App->>EKS Cluster: App starts using EBS Controller->>EKS Cluster: Upgrade EKS Control Plane to v1.23 Controller->>EKS Cluster: Upgrade Node Groups to v1.23 EKS Cluster-->>Controller: Upgrade Complete Controller->> Admin/User: Upgrade Successful App->>EKS Cluster: Zero Downtime/Impact to App
Here is a screenshot showing the EBS CSI Kubernetes resources automatically deployed to an EKS Cluster that was upgraded from v1.22 to v1.23.
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,