Skip to main content

EKS 1.33 Loses Standard Support July 29, 2026: What the 6x Extended-Support Markup Really Costs

8 min readDora NodaDora Noda
Share
On this page

On July 29, 2026, every EKS cluster still running Kubernetes 1.33 gets a bill increase its owner didn't ask for. Amazon doesn't force an upgrade, doesn't send a blocking warning, and doesn't pause the cluster — it just starts charging six times the hourly control-plane rate, silently, because the default upgrade policy enrolls you into extended support automatically. For a single cluster that's an extra $4,380 a year. For a five-cluster fleet, it's $21,900. For a platform team running twenty, it's $87,600 — a real line item, paid for doing nothing at all.

What Actually Changes on July 29, 2026

Kubernetes 1.33 shipped in EKS on May 29, 2025. Amazon's standard-support window is 14 months from release, which puts the cutoff at July 29, 2026 — six weeks out as of this writing. What happens next depends entirely on a setting most teams never touch: the cluster's upgrade policy.

EKS gives every cluster one of two policies:

  • STANDARD — when the version leaves standard support, AWS automatically upgrades the control plane for you.
  • EXTENDED — the cluster is left exactly where it is, now billed at the extended-support rate, for up to 12 more months (roughly through July 2027) before AWS forces the upgrade anyway.

EXTENDED is the default for both new and existing clusters. Nobody opts in — a team that has never heard of extended support, never set an upgrade policy, and never clicked anything gets enrolled the moment the clock runs out. The cluster keeps running exactly as before. The only thing that changes is the invoice.

Checking which policy a cluster is actually on takes one command:

bash
aws eks describe-cluster --name my-cluster \
  --query 'cluster.upgradePolicy.supportType' --output text

If that returns EXTENDED and the cluster is on 1.33, July 29 is the date the hourly rate changes — with no further action, no warning email, and no downtime to signal it happened.

The Bill: 0.10vs0.10 vs 0.60 an Hour, Multiplied by Your Fleet

The mechanism is a straight per-cluster, per-hour control-plane fee that changes tier the instant a version crosses from standard to extended support:

Standard supportExtended supportMultiple
Hourly rate$0.10/cluster$0.60/cluster6x
Monthly (730 hrs)~$73~$4386x
Annual (24/7)$876$5,2566x
Annual delta+$4,380/cluster

That $4,380 isn't a one-off — it accrues for every month the cluster sits on an aged-out version, and it scales linearly with fleet size, because the fee is per cluster, not per organization:

Fleet sizeExtra annual cost of staying delinquent
1 cluster$4,380
5 clusters$21,900
20 clusters$87,600

Nothing about that markup buys anything. It isn't paying for more capacity, more support responsiveness, or a feature. It's the price of AWS continuing to patch and backport security fixes for a Kubernetes minor version it would otherwise rather you weren't running — a tax on staying still, denominated in cluster-hours.

Why Teams Pay It Anyway: the Upgrade Is a Project, Not a Checkbox

The obvious response is "so upgrade before July 29." Plenty of teams know that and still don't make the deadline, because a Kubernetes minor-version bump on a real cluster isn't a version-string edit — it's a scoped engineering project. Industry write-ups on 2026 upgrade cycles put a mid-size EKS deployment spanning a few regions at four to six weeks of engineering effort per minor upgrade: auditing deprecated APIs before they're removed, re-testing admission webhooks and CNI compatibility, sequencing a rolling node-pool replacement without dropping traffic, and validating the result in staging before it touches production.

At a loaded engineering rate of roughly $100/hour, 160–240 hours works out to $16,000–$24,000 per upgrade event — and that's the planned version. Do it as a reactive scramble against a hard deadline, with two or three roadmap features displaced to make room, and the real cost is higher than the number suggests. Against a bill like that, "we'll get to it next sprint" is a completely rational-sounding decision in the moment. It's also exactly how a cluster ends up sitting in extended support for months, quietly accumulating $438/month it never needed to spend, because the alternative looked like a bigger, scarier expense.

The Other Side of the Ledger: What Owning the Upgrade Cadence Actually Costs

The honest version of "just automate it" needs its own number, or it's not a comparison — it's a slogan. Two separate costs are in play here, and they're easy to conflate.

The baseline cost of running a cluster at all doesn't disappear under automation. Industry estimates for a small self-hosted Kubernetes cluster put routine operational overhead — patching, monitoring, day-to-day drift correction — at roughly 8–15 engineer-hours a month. At $100/hour, that's $800–1,500/month, or $9,600–18,000/year. That's a real, ongoing cost of owning infrastructure, and it exists whether or not a version deadline is anywhere near.

The marginal cost of a single version upgrade, once that infrastructure is managed by Cluster API, is a much smaller and much more interesting number. Cluster API v1.12 (released January 2026) added chained upgrades: a team declares a target Kubernetes version on a ClusterClass-managed fleet, and the controller orchestrates every intermediate minor-version step itself — control plane first, then worker nodes, with configurable surge and drain — across every cluster using that class in one operation. What used to be a four-to-six-week, per-cluster crunch project becomes a spec field change (Cluster.spec.topology.version) that a controller executes and a platform engineer monitors for a few hours. At the same $100/hour rate, a handful of hours to trigger and watch a fleet-wide rolling upgrade lands around $300–600 per upgrade event — for the whole fleet, not per cluster — because chained upgrades and shared ClusterClass topologies mean the marginal cost of upgrading cluster #20 alongside cluster #1 is close to zero.

That asymmetry is the actual case for owning the cadence: the AWS markup scales linearly per cluster ($4,380 × N), while the CAPI-managed marginal upgrade cost stays roughly flat regardless of fleet size, because one declarative change rolls out everywhere at once instead of N separate manual projects.

When to Pay the Markup, and When to Own the Cadence

None of this means extended support is always the wrong call. It's a legitimate, if expensive, insurance policy for a narrow case: a team with one or two clusters, a migration already scheduled for next quarter, and no appetite to stand up Cluster API tooling for a one-time gap. Paying $438/month for a few months while a planned upgrade lands is a defensible trade — cheaper than rushing a project that isn't ready, and far cheaper than building fleet automation to solve a problem that only happens once.

The math flips once a team is running more than a couple of clusters, or once "we missed the deadline" turns out to be a pattern rather than a one-time slip. At 5 clusters, the avoidable AWS markup is $21,900/year; at 20, it's $87,600/year — money that buys nothing, on top of the $16,000–24,000 crunch-project cost that still has to happen eventually, on someone else's timeline. Against that, a marginal upgrade cost of a few hundred dollars per fleet-wide upgrade event, repeating on a predictable ~14-month cadence instead of an emergency one, isn't close. The baseline ops overhead of running the fleet at all ($9,600–18,000/year per cluster) is a cost either path pays — the question this piece actually answers is what happens on top of that baseline when the calendar runs out, and the answer is that owning the upgrade cadence turns a recurring $4,380-per-cluster tax and an occasional five-figure scramble into a scheduled, few-hundred-dollar maintenance event.

Put concrete numbers on a mid-size case: a platform team running 8 EKS clusters that let 1.33 age out everywhere. Doing nothing costs $4,380 × 8 = $35,040 in avoidable markup over the 12-month extended-support window, and the eventual forced upgrade at the end of that window still has to happen as the same reactive, $16,000–24,000 scramble described above — call it $51,000–59,000 in total avoidable spend for the year. A ClusterClass-managed fleet on Cluster API pays none of the AWS markup (self-hosted control planes, or EKS clusters kept current before the deadline either way), and absorbs the version bump as one chained-upgrade operation across all 8 clusters — a few hours, on the order of $300–600. The gap isn't a rounding error; it's most of a mid-level engineer's quarterly bonus, recurring every time a version ages out, for a problem that automation converts into a non-event.

This is the same bet bex is built on: a git-push PaaS running on a Cluster API-managed fleet, where "the Kubernetes version is aging out" is a spec field the platform bumps on a schedule, not a support clock that starts billing 6x the moment a vendor's calendar says so. Star the repo on GitHub or deploy your first app on infrastructure you actually own.

Sources

Related articles

Run this on infrastructure you own

bex is the open-source, AI-native Render alternative — push a git repo and get a running HTTPS service on your own machines.

Get started with bex