Amazon EKS Upgrade release notes (v1.27 to v1.28)
Key items to keep in mind for EKS version upgrade from v1.27 to v1.28
Gladwin Neo
Amazon Employee
Published Nov 18, 2024
As one of the largest and most popular open-source projects for building cloud-native applications, the Kubernetes project is continually integrating new features, design requests, and bug fixes through version upgrades. New version updates are available on average every three months.
Amazon Elastic Kubernetes Service (EKS) is a managed Kubernetes platform provided by AWS to enable customers to deploy, manage, and scale Kubernetes clusters on the AWS Cloud. As EKS is based on open-source Kubernetes, AWS constantly updates EKS to ensure compatibility with the latest version of Kubernetes, while providing backward compatibility for older versions.
At AWS, Containers Specialists work closely with customers daily to help them with the migration and upgrades of large-scale EKS deployments. In this simple blog post, we have consolidated a list of key items to take note of as you go through the EKS upgrade from v1.27 to v1.28.
Kubernetes
v1.28
has expanded the supported skew between core node and control plane components from n-2 to n-3. This means that node components (kubelet and kube-proxy) for the oldest supported minor version can now work with control plane components (kube-apiserver, kube-scheduler, kube-controller-manager, cloud-controller-manager) for the newest supported minor version. This change provides more flexibility in managing cluster upgrades and maintenance, especially for large or complex environments. No immediate action is required, but you may want to review your upgrade strategies to take advantage of this extended support.The metrics force_delete_pods_total and force_delete_pod_errors_total in the Pod GC Controller have been enhanced to account for all forceful pod deletions. A new "reason" field has been added to these metrics, indicating whether a pod was forcefully deleted because it was terminated, orphaned, terminating with an out-of-service taint, or terminating and unscheduled. To leverage these improvements, update your monitoring and alerting systems to incorporate these new metric details for better visibility into pod lifecycle issues.
The PersistentVolume (PV) controller has been modified to automatically assign a default StorageClass to any unbound PersistentVolumeClaim with the storageClassName not set. Additionally, the PersistentVolumeClaim admission validation mechanism within the API server has been adjusted to allow changing values from an unset state to an actual StorageClass name. Review your storage configurations and PersistentVolumeClaim specifications to ensure they align with this new behavior and to take advantage of the simplified storage management.
Add-on | Recommended version for EKS cluster v1.27 |
---|---|
VPC CNI | v1.18.6-eksbuild.1 |
CoreDNS | v1.10.1-eksbuild.13 |
kube-proxy | v1.28.12-minimal-eksbuild.9 |
Please refer to the following reference links for add-on versions, pre-requisites and update instructions
Apart from the above mentioned core add-ons, you might also be running other add-ons like AWS Load Balancer controller, EBS CSI driver, Cluster Autoscaler, Karpenter, Prometheus, etc. These add-ons will also need to be validated individually for version compatibility.
For more best practices on EKS Cluster Upgrades, refer to the official AWS EKS documentation here.
Gladwin Neo is a Containers Solutions Architect at AWS. He is a tech enthusiast with a passion for containers. He is now focusing on helping customers from a wide range of industries to modernize their workloads through the use of Containers technologies in AWS which includes Elastic Container Service (ECS) and Elastic Kubernetes Service (EKS).
Any opinions in this post are those of the individual author and may not reflect the opinions of AWS.