When an Amazon EKS version reaches the end of standard support, your cluster automatically moves to extended support, and the control plane fee rises from $0.10 to $0.60 per cluster per hour. When extended support ends 12 months later, AWS upgrades the control plane for you, on its schedule, whether your workloads are ready or not. Two deadlines are close: EKS 1.31 extended support ends on November 26, 2026, and EKS 1.34 standard support ends on December 2, 2026.
The safest path is to upgrade on your own schedule, one minor version at a time, after checking for deprecated APIs, outdated add-ons, and node changes. The rest of this guide covers how.
Each Kubernetes version on EKS gets 14 months of standard support from its EKS release, followed by 12 months of extended support. That's a little over two years in total, and Kubernetes ships a new minor version roughly every four months, so a cluster that isn't upgraded regularly falls behind quickly.
Here's where the versions most teams are running stand as of October 2026:
|
EKS version |
End of standard support |
End of extended support |
Status in October 2026 |
|
1.31 |
November 26, 2025 |
November 26, 2026 |
Extended support, ending soon |
|
1.32 |
March 23, 2026 |
March 23, 2027 |
Extended support |
|
1.33 |
July 29, 2026 |
July 29, 2027 |
Extended support |
|
1.34 |
December 2, 2026 |
December 2, 2027 |
Standard support, ending soon |
AWS publishes the full schedule in its Kubernetes version lifecycle documentation. It's worth noticing how many versions are already in extended support: if you're on 1.31, 1.32, or 1.33, you're paying the higher rate today.
Your cluster keeps running. AWS moves it into extended support automatically and starts charging the higher rate that day. The control plane fee goes from $0.10 to $0.60 per cluster per hour. That's an extra $0.50 an hour, or about $4,380 per cluster per year, before counting anything else.
For one cluster, that's an annoyance. For an organization with a dozen clusters across development, staging, and production, it's a line item someone in finance will ask about.
If you'd rather not enter extended support at all, EKS lets you set a cluster's upgrade policy to standard support only. The cluster is then upgraded automatically at the end of standard support instead of moving to the higher rate.
AWS upgrades the control plane to the oldest supported version, through a gradual rollout on its schedule. Two things make this risky:
An automatic upgrade is a safety net, and it's a poor substitute for a planned one.
EKS upgrades go one minor version at a time, so getting from 1.31 to a current version means several upgrades in a row. A few changes along the way catch teams off guard:
AWS lists version-specific changes in its release notes for each version. Read the notes for every version you'll pass through, not just the last one.
At Fairwinds, we review Kubernetes release notes and changelogs to identify deprecated APIs, breaking changes, and new or updated features. We then test the upgrade in our internal test clusters to identify potential issues before applying it to customer environments.
Preparation and Testing: Before an upgrade begins, we review release notes, check for deprecated APIs and breaking changes, verify add-on compatibility, and test the new version and nodes. Once everything is ready, the upgrade duration depends largely on the cluster's size and the number of worker nodes that need to be replaced.
We bring years of experience managing Kubernetes clusters across different versions, cloud providers, cluster sizes, and self-managed environments.
One key difference is our approach to testing. Many teams use an existing non-production cluster to test upgrades, which can disrupt other teams' workflows. We maintain dedicated test clusters for different cloud providers, allowing us to test new versions, explore potential failure scenarios, and validate changes without blocking other teams.
Our testing covers a variety of scenarios to identify compatibility issues and potential problems before upgrades reach customer environments. This experience and preparation help us identify risks early and make customer upgrades more predictable.
Customer Communication and Rollout: We announce planned cluster upgrades in advance so customers know what to expect. We deploy the changes to non-production clusters first, roll the nodes, and allow the changes to bake for at least one week. If everything works as expected, we proceed with production upgrades.
Validation and Monitoring: Throughout the rollout, we verify node readiness, workload health, networking, autoscaling, and monitoring. We closely monitor clusters after the upgrade and notify customers when the upgrade is complete.
Pluto and Nova are free and open source, and they cover the two checks teams most often skip. If you want those checks running continuously across every cluster, along with policy and cost visibility, Fairwinds Insights brings them together in one place.
At Fairwinds, we deploy and test the same add-ons our customers use in our dedicated test environments. This allows us to identify deprecated APIs and compatibility issues during our release review and testing processes, before changes reach customer clusters.
Our approach helps us catch problems early rather than discover them during a customer upgrade.
We've worked with customers running older Kubernetes versions across managed services like EKS, GKE, and AKS, as well as self-managed Kubernetes clusters managed with tools like kOps.
Running outdated Kubernetes versions can expose organizations to known vulnerabilities and make clusters increasingly difficult to maintain. Since everything is connected with other components of the cluster, the longer they are delayed, it gets harder and harder to upgrade without breaking anything. Teams often postpone upgrades because they require careful planning, thorough testing, and coordination across multiple teams. However, delaying upgrades can eventually turn a planned maintenance task into an emergency. A Python application dependency may require a newer version of an add-on or Kubernetes itself, forcing teams to resolve multiple interconnected compatibility issues under tight deadlines. What could have been a controlled, well-tested upgrade becomes a high-pressure effort to fix several problems at once.
Beyond reducing security risks and maintenance complexity, staying current also has financial benefits for EKS customers. AWS charges about $4,380 per cluster per year for extended support compared with standard support. Regular upgrades help organizations avoid these additional charges while reducing compatibility issues and long-term maintenance overhead.
If you'd rather have an experienced team handle this for you, Fairwinds provides EKS managed services, including planned upgrades that stay ahead of the support calendar.
The control plane fee rises from $0.10 to $0.60 per cluster per hour, an extra $0.50 an hour or about $4,380 per cluster per year. Worker node costs don't change.
For most clusters, no. If you run Managed Node Groups, Karpenter, or self-managed EC2 instances, AWS upgrades only the control plane—rolling your node AMIs and updating add-ons is entirely your responsibility. The only exception is if your cluster runs EKS Auto Mode, where AWS manages both the control plane and compute infrastructure, including automated node operating system patching and kubelet updates.
No. When extended support ends, AWS upgrades the control plane only. Managed node groups, self-managed nodes, and add-ons are still yours to upgrade.
Yes. Upgrade before standard support ends, or set the cluster's upgrade policy to standard support only, so it upgrades automatically at the end of standard support instead of entering extended support.
Kubernetes releases a new minor version about every four months. Upgrading on a similar cadence keeps each upgrade small and keeps you in standard support.
AWS publishes standard and extended support dates for each EKS Kubernetes version. Check the Amazon EKS Kubernetes versions documentation to find your version's support deadlines. You can also check your cluster's current version in the AWS console or with the kubectl version command. Plan your upgrade ahead of the standard support deadline to avoid extended-support charges.