
In April a client's AWS bill had a line I see on a lot of EKS accounts: $1,728 for the month in EKS extended support. Four clusters, development, CI, staging and production, all on Kubernetes 1.32, all past standard support.
Nothing was broken. That is why it had been left alone. But the fee was paying for the privilege of staying on an old version, and the version was not going to get younger.
Amazon EKS supports each Kubernetes version for 14 months of standard support, then 12 months of extended support. In standard support a cluster costs $0.10 an hour. In extended support it costs $0.60 an hour. That is about $365 more per cluster per month, before anything else on the bill changes.
Extended support is turned on by default. You do not opt in. A cluster just crosses the date and the price changes.
Four clusters at $0.60 for a 30-day month is the $1,728 I saw. Getting them back into standard support saved about $1,440 a month.
From the AWS release calendar as of October 2026:
Check with aws eks describe-cluster-versions, or look at the version column in the EKS console. If a cluster is on 1.34 or older, plan the upgrade now.
At the end of extended support, EKS upgrades the control plane only. Managed node groups and self-managed nodes stay on the old version. Your add-ons stay where they were. So you get a version jump you did not test, at a time you did not pick, with nodes and controllers that may not match.
An in-place upgrade you run yourself can be rolled back to the previous minor version within 7 days. A cluster that AWS upgraded at the end of extended support cannot be rolled back.
I use the same order on every cluster and every version. Development first, then CI, then production.
On that engagement I ran this twice: 1.32 to 1.33 in late May on all four clusters, then 1.33 to 1.34 in mid-July on the three that were left, after the unused staging environment was removed. The node autoscaler went from 1.4 to 1.11 across the two upgrades. Years of skipped controller upgrades are usually the real work in an EKS upgrade, not the control plane.
Some things did not behave the way the documentation suggested.
The production node roll covered 16 nodes, one at a time. Customers saw about 15 to 30 seconds of disruption, and it came from one place: a cache node moved to a new host while the application reconnected. The control plane upgrade itself was invisible.
That is the pattern I see most often. The cluster upgrades cleanly. The application has one dependency that does not reconnect fast. So before a production upgrade, find the stateful pieces (caches, queues, anything with a long-lived connection) and decide how each one will move. The full write-up is in Two EKS Upgrades with Seconds of Disruption.
Kubernetes ships a new minor version about every four months. If upgrades are a project, you will fall behind again within a year. What helped most was writing the sequence down and running it the same way each time, so the next upgrade is a checklist, not an investigation. By September all three clusters ran the same 1.34 patch release, with no version drift between environments.
If your clusters are in extended support or close to it, I can run the upgrade with you or review your plan. See Kubernetes and EKS consulting, or start with an AWS Cost and EKS Review if you want the upgrade path and the bill looked at together.
Related serviceKubernetes & Platform: Ship daily. Sleep nightly.