Kubernetes 1.35 end of life (28 Feb 2027): the 2027 upgrade calendar

Kubernetes 1.35 ends 28 Feb 2027, 1.36 in June, 1.37 in October. Managed-service dates, $0.60/hour extended support and a checklist.

Read time
18 min
Word count
2.3K
Sections
12
FAQs
8
Share
Platform engineer working on cabled server racks, laptop on a cart, colleague reading a printed calendar, Kubernetes logo
On this page · 12 sections
  1. The three upstream end-of-life dates in 2027
  2. What makes 2027 different: providers stop waiting
  3. EKS, AKS and GKE dates side by side
  4. What extended support costs on each platform
  5. The 2027 upgrade calendar, month by month
  6. What breaks between 1.34 and 1.37 (and what doesn't)
  7. Finding deprecated APIs: Pluto, kubectl convert and the API server
  8. Worked example: what missing the spring window costs
  9. Notes for teams in India and the EU
  10. The 2027 Kubernetes upgrade checklist
  11. How eCorpIT can help
  12. References

Summary. Upstream Kubernetes 1.35 reaches end of life on 28 February 2027, after entering maintenance mode on 28 December 2026. The project lists 1.36 ending on 28 June 2027 and 1.37 on 28 October 2027, so every supported minor version leaves upstream support within 12 months. Amazon EKS ends standard support for 1.35 on 27 March 2027, then bills $0.60 per cluster-hour instead of $0.10, with extended support on by default. AKS ends community support on 31 March 2027, and its long-term support needs the $0.60 Premium tier. GKE ends standard support on 11 April 2027, and its Extended channel adds $0.50 to the $0.10 base fee. From 1 June 2027, AKS upgrades clusters left on unsupported versions, ignoring maintenance windows and deprecated-API checks. No built-in API has been removed since 1.32, so the 2027 risk sits mostly in nodes and defaults: cgroup v1, containerd 1.x, the gitRepo volume and SELinux mount labelling. A cluster on 1.35 in January needs three minor upgrades to stay on standard support through 2027.

About this article. For platform teams planning 2027 change windows. We checked dates and prices on 1 November 2026 against kubernetes.io, Kubernetes release records on GitHub, and AWS, Microsoft and Google documentation and price lists. Providers revise calendars often, so re-check before you commit a change window. No vendor paid for inclusion. Researched with AI assistance and reviewed by our editorial team.

The three upstream end-of-life dates in 2027

The Kubernetes project maintains release branches for the three most recent minor versions, currently 1.37, 1.36 and 1.35. Each gets about 14 months: a 12-month standard period, then two months of maintenance mode, when patches are limited to assigned CVEs, dependency issues and critical core component problems. The 28th is used because every month has one.

Minor version Upstream release Latest patch Maintenance mode from Upstream end of life
1.34 27 Aug 2025 1.34.13 27 Aug 2026 27 Oct 2026 (ended)
1.35 17 Dec 2025 1.35.10 28 Dec 2026 28 Feb 2027
1.36 22 Apr 2026 1.36.6 28 Apr 2027 28 Jun 2027
1.37 26 Aug 2026 1.37.2 28 Aug 2027 28 Oct 2027

Dates are from the project's schedule data. The four patches were published on GitHub on 28 October 2026. On 1 November, kubernetes.io still showed September's.

The next patch targets are 10 November 2026, 15 December 2026 and 12 January 2027; the last two rounds shipped 8 and 15 days late. No 1.35 patches are planned after 28 February 2027. Version 1.38 is next: SIG Release targets 16 December 2026, and Microsoft's AKS calendar lists a 1.38 preview in November 2026 and general availability in February 2027.

What makes 2027 different: providers stop waiting

AKS will upgrade unsupported clusters itself. Microsoft's 25 October 2026 release notes list this as an upcoming change. From 1 June 2027, AKS upgrades any cluster still on an unsupported version once its 60-day grace period has ended. For that first rollout, it expects community-support clusters on 1.36 or later and LTS clusters on 1.33 LTS or later. The upgrade ignores your maintenance window and the deprecated-API check, honours Pod Disruption Budgets only on a best-effort basis, and cannot be cancelled once running or rolled back. There is no opt-out.

GKE retires No channel. Google deprecated the setting on 10 June 2026. It will be removed on 14 June 2027, and remaining clusters will be enrolled in the Stable channel.

EKS bills you for staying, by default. This one is older: the $0.60 rate dates from April 2024. Set the upgrade policy to STANDARD and the cluster is auto-upgraded at the end of standard support instead. When extended support ends, EKS upgrades the control plane with no further notice and leaves managed node groups and self-managed nodes where they were.

Upstream, Ingress NGINX was retired in March 2026 with no further releases or security fixes, though existing deployments keep working. Our Ingress-NGINX to Gateway API migration plan covers the move.

EKS, AKS and GKE dates side by side

EKS and GKE end dates trail upstream by about one to three months. AKS is about a month behind for 1.34 and 1.35 but only days behind for 1.36 and 1.37. AKS publishes months that mean the month's last day, shown below as days. EKS dates are from AWS's calendar; Google calls its schedule a best-effort prediction.

Version Upstream EOL EKS standard ends EKS extended ends AKS end of life AKS LTS ends GKE standard ends GKE extended ends
1.34 27 Oct 2026 2 Dec 2026 2 Dec 2027 30 Nov 2026 30 Nov 2027 25 Jan 2027 25 Nov 2027
1.35 28 Feb 2027 27 Mar 2027 27 Mar 2028 31 Mar 2027 31 Mar 2028 11 Apr 2027 11 Feb 2028
1.36 28 Jun 2027 2 Aug 2027 2 Aug 2028 30 Jun 2027 30 Jun 2028 9 Aug 2027 9 Jun 2028
1.37 28 Oct 2027 1 Dec 2027 1 Dec 2028 31 Oct 2027 31 Oct 2028 22 Dec 2027 22 Oct 2028

Amazon EKS: 14 months standard, then 12 months extended

Versions 1.34 to 1.37 are in standard support today, and 1.31 to 1.33 in extended support. Extended billing starts at the beginning of the day a version leaves standard support, in UTC. EKS gives at least 60 days' notice and lets you roll an in-place upgrade back within seven days. Extended support covers control-plane patches, the VPC CNI, kube-proxy and CoreDNS add-ons, and AWS-published AMIs. AWS names 1.32 as the last version with Amazon Linux 2 AMIs.

Azure AKS: 12 months of community support, LTS on the Premium tier

AKS gives each GA minor version 12 months of community support, then a platform support window that covers only Azure platform issues and blocks new clusters on that version. Long-term support adds a second year of backported security fixes. Enrolment is never automatic: it needs the Premium tier and --k8s-support-plan AKSLongTermSupport, and covers only the two most recent patches of each minor.

Non-LTS clusters upgrade one minor version at a time; LTS clusters can skip to a higher LTS version if skew and validation checks pass. Nodes jump too: 1.35 images list Ubuntu 22.04 with containerd 1.7.29, while 1.36 lists Ubuntu 24.04 with containerd 2.3.1. Platform-initiated upgrade months for community-support clusters are June 2027 for 1.32 to 1.35, September 2027 for 1.36 and January 2028 for 1.37. From 1.38, Ubuntu node pools default to Ubuntu 26.04.

Google GKE: release channels and the Extended channel

GKE moves clusters through Rapid, Regular and Stable channels and auto-upgrades them on or after published dates. For 1.36, it shows a Regular target around 11 November 2026 and a Stable one estimated for January 2027. Maintenance exclusions can hold a cluster back until its end of support, not beyond. The Extended channel keeps a minor version supported for up to 24 months, free during the standard period and $0.50 per cluster-hour extra after it.

What extended support costs on each platform

All three providers list the same price for keeping an old version alive: $0.60 per cluster-hour, six times the $0.10 standard control-plane fee.

Provider Standard control-plane fee Extended or LTS fee How you get it What happens at the end
Amazon EKS $0.10 per cluster-hour $0.60 per cluster-hour On by default (upgrade policy EXTENDED) Control plane auto-upgraded; node groups stay put
Azure AKS Free tier: listed as free, no SLA; Standard tier: $0.10 per cluster-hour Premium tier: $0.60 per cluster-hour Opt in to Premium and the LTS plan Platform-initiated upgrade to the next LTS after a 60-day grace period
Google GKE $0.10 per cluster-hour; $74.40 monthly free-tier credit for zonal and Autopilot clusters $0.10 + $0.50 = $0.60 per cluster-hour Enrol in the Extended channel Upgraded to the next minor version near the end

Microsoft's retail price list shows the Standard Long Term Support meter at $0.60 per hour in every listed region, against $0.10 for Standard Uptime SLA. Azure's calculator data matches, and the pricing page limits LTS to Standard SKU clusters, not AKS Automatic.

One oddity: the list also carries a FreeTierInfrastructureCost meter at $0.05 per hour, effective 1 October 2026, while Microsoft's documentation still calls the Free tier free. We found no explanation, so check your invoice if you run Free tier clusters.

The 2027 upgrade calendar, month by month

Before 2027, EKS extended support for 1.31 ends on 26 November 2026. AKS community support for 1.34 and LTS for 1.31 end on 30 November. EKS standard support for 1.34 ends on 2 December, when clusters on the default policy move to $0.60 per hour. Version 1.38 is targeted for 16 December, and 1.35 enters maintenance mode on 28 December.

Date (2027) Event Have done by then
January (est.) GKE Stable auto-upgrades to 1.36, Regular to 1.37 1.36 and 1.37 tested in staging
25 Jan GKE 1.34 end of standard support GKE 1.34 clusters upgraded
28 Feb Upstream 1.35 end of life 1.36 production plan signed off
27 Mar EKS 1.35 end of standard support On 1.36, or $0.60 per hour accepted
31 Mar AKS 1.35 end of life On 1.36; grace period runs 1 Apr to 30 May
11 Apr GKE 1.35 end of standard support On 1.36, or on the Extended channel
1 Jun AKS platform-initiated upgrades begin Every AKS cluster supported
14 Jun GKE removes No channel Every GKE cluster in a chosen channel
28 and 30 Jun Upstream, then AKS, 1.36 end of life AKS clusters on 1.37
2 Aug EKS 1.36 end of standard support EKS clusters on 1.37
9 Aug GKE 1.36 end of standard support GKE clusters on 1.37
28 and 31 Oct Upstream, then AKS, 1.37 end of life AKS clusters on 1.38
1 Dec EKS 1.37 end of standard support EKS clusters on 1.38
22 Dec GKE 1.37 end of standard support GKE clusters on 1.38

Older versions also hit hard stops: EKS auto-upgrades remaining 1.32 control planes after 23 March and 1.33 after 29 July, and GKE's extended support for 1.33 ends on 12 June. AKS runs ahead of the others. A cluster on 1.35 in January 2027 needs 1.36 by late March (11 April on GKE), then 1.37 by 30 June on AKS or early August on EKS and GKE, then 1.38 by 31 October on AKS or December on EKS and GKE.

What breaks between 1.34 and 1.37 (and what doesn't)

The Kubernetes Deprecated API Migration Guide lists v1.32 as the most recent release that stopped serving a deprecated API version (flowcontrol.apiserver.k8s.io/v1beta3). Nothing from 1.33 to 1.37 is on that list. That shifts most of the risk to nodes, runtimes and behaviour defaults. Our guides to the containerd 2.0 move and the 1.36 breaking changes go deeper on two of these hops.

Arrived in Change Who it hits Action
1.35 kubelet refuses to start on cgroup v1 nodes by default Old node OS images, custom AMIs; Fargate still uses cgroup v1, says AWS Move nodes to cgroup v2; setting failCgroupV1 to false is a stopgap only
1.35 Last release supporting containerd 1.x Nodes on containerd 1.7 Move to containerd 2.0 or later before 1.36
1.35 kubelet pod-infra-container-image flag removed Custom AMIs and bootstrap scripts Delete the flag before upgrading
1.35 kube-proxy IPVS mode deprecated Clusters running IPVS Plan a move to nftables mode
1.36 gitRepo volume permanently disabled Pods that mount gitRepo volumes Init containers or git-sync sidecars
1.36 Strict IP and CIDR validation on by default New or updated objects with leading zeros or non-canonical CIDRs Fix values in charts and automation
1.36 Service externalIPs deprecated, removal planned for 1.43 Services that set externalIPs LoadBalancer, NodePort or Gateway API
1.37 SELinuxMount enabled by default SELinux nodes where pods share a volume with different labels, on CSI drivers that opt in Align seLinuxOptions, or set seLinuxChangePolicy to Recursive
1.37 kubelet stops on deprecated cAdvisor flags; three container metrics dropped; eventRecordQPS of 0 now means no limit Custom kubelet arguments, Grafana dashboards, alerts Remove flags, set QPS to 5 to keep old behaviour, fix dashboards

Sources are AWS's EKS release notes and Kubernetes project posts and documentation. AWS notes that Bottlerocket 1.35 sets failCgroupV1: false for backward compatibility while AL2023 follows upstream behaviour.

Finding deprecated APIs: Pluto, kubectl convert and the API server

Third-party CRDs and Helm charts carry their own deprecations, so check every hop. The trap is the API server: as the Pluto README explains, it converts a resource to whichever apiVersion you request, so kubectl get -o yaml says little about your Git repositories or Helm history.

Pluto, Fairwinds' open-source CLI, scans manifests, Helm charts, live Helm releases and in-cluster resources, and flags each hit as DEPRECATED or REMOVED with a replacement. The latest release is v5.24.4 (15 September 2026). kubectl convert rewrites a manifest to a newer apiVersion but is now a separate plugin, and the Kubernetes guide warns that its defaults may not be the ones you want.


            # Nodes
kubectl get nodes -o wide
stat -fc %T /sys/fs/cgroup/      # "cgroup2fs" means cgroup v2

# Manifests, rendered charts and the live cluster
pluto detect-files -d ./manifests
helm template ./charts/my-app | pluto detect -
pluto detect-all-in-cluster -o wide

# Rewrite an old manifest
kubectl convert -f ./my-deployment.yaml --output-version apps/v1

# Deprecated APIs still called, and gitRepo volumes
kubectl get --raw /metrics | grep apiserver_requested_deprecated_apis
kubectl get pods -A -o yaml | grep -n "gitRepo:"

# CSI drivers using SELinux mounts
kubectl get csidriver -o custom-columns=NAME:.metadata.name,SELINUXMOUNT:.spec.seLinuxMount

# Provider views
aws eks describe-cluster-versions
az aks get-upgrades --resource-group my-rg --name my-cluster --output table
          

Kubernetes documents the cgroup check and the metric. AKS shows usage under Diagnose and solve problems > Kubernetes API deprecations and runs the check on upgrades you start, but platform-initiated upgrades proceed anyway. GKE says deprecated API use can affect auto-upgrade timing.

Worked example: what missing the spring window costs

Take 12 production clusters on 1.35 in January 2027: six on EKS, three on AKS (Standard tier) and three on GKE. Assume the 1.36 upgrade slips six months past each provider's end of standard support, at 730 hours a month, the figure in AWS's pricing examples. The extra cost is $0.50 per cluster-hour on each platform ($0.60 less $0.10).

  • EKS: 6 clusters × $0.50 × 730 hours × 6 months = $13,140
  • AKS, moved to Premium for LTS: 3 × $0.50 × 730 × 6 = $6,570
  • GKE Extended channel: 3 × $0.50 × 730 × 6 = $6,570
  • Total extra control-plane spend: $26,280, or $4,380 a month, against a normal control-plane bill of 12 × $0.10 × 730 = $876 a month

The larger costs are elsewhere. By the end of the slip, 1.36 has itself left standard support on all three platforms (30 June on AKS, 2 August on EKS, 9 August on GKE), so the premium keeps running until each cluster reaches 1.37, and two minor upgrades land close together. Without LTS, the AKS clusters would also have entered the platform-initiated upgrade path in June.

Notes for teams in India and the EU

For Indian organisations whose financial year ends on 31 March, the 1.35 deadlines land four days apart: EKS on 27 March, AKS on 31 March. If you freeze changes around year-end close, move production to 1.36 in January or February. Fees are in US dollars. Azure lists the same $0.60 LTS meter in Jio India Central as elsewhere, and EKS and GKE quote one flat rate. EU teams weighing a provider move can read our EU Data Act cloud switching explainer.

Java teams have a separate licence question, covered in our Oracle JDK 21 licence guide.

The 2027 Kubernetes upgrade checklist

  1. Inventory every cluster: provider, version, channel or policy, tier and node OS. Microsoft publishes an Azure Resource Graph query for AKS.
  1. Write each cluster's three 2027 deadlines into the change calendar.
  1. Decide per cluster: upgrade, or pay. If you pay, get the $0.60 per hour and an exit date signed off.
  1. On AKS, set an auto-upgrade channel and a maintenance window of at least four hours, and subscribe to AKS Communication Manager.
  1. On GKE, enrol every no-channel cluster in a channel before 14 June 2027.
  1. Fix the nodes first: cgroup v2, containerd 2.0 or later before 1.36, no --pod-infra-container-image flag, no deprecated cAdvisor flags before 1.37.
  1. Run Pluto and watch the deprecated-API metric for clients you do not own.
  1. Clear add-ons before each hop: confirm that CNI, CSI drivers, ingress controllers, cert-manager and service mesh support the target version. AWS's sequence updates its managed add-ons after the control plane and nodes.
  1. Test Pod Disruption Budgets by draining a node in staging.
  1. Upgrade the control plane one minor at a time, then node groups. EKS tolerates nodes three minors behind but recommends matching versions. GKE's limit is two minors.

How eCorpIT can help

eCorpIT is a Gurugram-based technology organisation, founded in 2021, assessed at CMMI Level 5 and MSME certified, with senior-led engineering teams working across AWS, Microsoft and Google platforms. Our cloud computing services team plans and runs Kubernetes upgrade programmes on EKS, AKS and GKE. Talk to us at /contact-us/.

Last updated: 1 November 2026.

References

  1. Release history — Kubernetes
  1. Understand the Kubernetes version lifecycle on EKS — Amazon Web Services
  1. Amazon EKS pricing — Amazon Web Services
  1. Supported Kubernetes versions in AKS — Microsoft Learn
  1. Azure Retail Prices API, Azure Kubernetes Service meters — Microsoft
  1. GKE release schedule — Google Cloud
  1. Google Kubernetes Engine pricing — Google Cloud
  1. Platform-initiated upgrades in AKS — Microsoft Learn
  1. Deprecated API migration guide — Kubernetes
  1. Review release notes for Kubernetes versions on standard support — Amazon Web Services
  1. Patch releases — Kubernetes
  1. Release schedule data (schedule.yaml) — Kubernetes website repository
  1. Kubernetes releases — kubernetes/kubernetes on GitHub
  1. Stable version marker for the 1.35 branch — Kubernetes release downloads
  1. Kubernetes v1.38 release information — Kubernetes SIG Release
  1. AKS release notes, 25 October 2026 — Azure/AKS on GitHub
  1. GKE release notes, entries of 10 June and 21 August 2026 — Google Cloud
  1. Amazon EKS extended support for Kubernetes versions pricing, 16 January 2024 — AWS Containers blog
  1. View current cluster upgrade policy — Amazon Web Services
  1. Ingress NGINX retirement: what you need to know, 11 November 2025 — Kubernetes blog
  1. Amazon Linux 2 AMI deprecation FAQs — Amazon Web Services
  1. Long-term support for AKS versions — Microsoft Learn
  1. GKE versioning and support — Google Cloud
  1. Azure pricing calculator data for Kubernetes Service — Microsoft Azure
  1. Azure Kubernetes Service pricing — Microsoft Azure
  1. AKS pricing tiers — Microsoft Learn
  1. Kubernetes v1.35: Timbernetes, 17 December 2025 — Kubernetes blog
  1. Kubernetes v1.36: Haru, 22 April 2026 — Kubernetes blog
  1. Kubernetes v1.37: Garhwal, 26 August 2026 — Kubernetes blog
  1. About cgroup v2 — Kubernetes
  1. Pluto README — Fairwinds
  1. Pluto quickstart — Fairwinds
  1. Pluto releases — Fairwinds
  1. Kubernetes metrics reference — Kubernetes
  1. Update existing cluster to new Kubernetes version — Amazon Web Services
  1. About GKE cluster upgrades — Google Cloud

Frequently asked

Quick answers.

01 When does Kubernetes 1.35 reach end of life?
Upstream Kubernetes 1.35 reaches end of life on 28 February 2027, after entering maintenance mode on 28 December 2026. On managed services, EKS standard support runs to 27 March 2027, AKS community support to 31 March 2027 and GKE standard support to 11 April 2027.
02 When do Kubernetes 1.36 and 1.37 reach end of life?
The Kubernetes project lists 28 June 2027 for 1.36 and 28 October 2027 for 1.37. EKS standard support ends on 2 August and 1 December 2027, AKS community support on 30 June and 31 October 2027, and GKE standard support on 9 August and 22 December 2027.
03 Can I upgrade straight from Kubernetes 1.35 to 1.37?
Not on a standard control plane. EKS, GKE and community-support AKS clusters move one minor version at a time, through 1.36. The exception is AKS long-term support, where an LTS cluster can skip to a higher LTS version if skew and validation checks pass.
04 What does EKS extended support cost in 2027?
Amazon EKS charges $0.10 per cluster-hour during standard support and $0.60 during the following 12 months of extended support. That is about $438 a month per cluster at 730 hours, against $73 on standard support. Extended support is on by default unless you change the upgrade policy.
05 What happens to AKS clusters left on old versions after June 2027?
From 1 June 2027, AKS upgrades clusters still on an unsupported version after the 60-day grace period. It ignores maintenance windows and the deprecated-API check, may override Pod Disruption Budgets, and cannot be cancelled or rolled back. Community clusters move to the lowest supported version, LTS clusters to the next LTS.
06 Does upgrading to 1.36 or 1.37 remove any APIs I use?
No built-in API versions are removed between 1.33 and 1.37; the last removal was flowcontrol v1beta3 in 1.32. The breaking changes are mostly behavioural: cgroup v1, containerd 1.x, the gitRepo volume, strict IP validation, SELinux mounts and kubelet flags. Third-party CRDs and Helm charts can still carry deprecations.
07 What happens to GKE clusters with no release channel after 14 June 2027?
Google will remove the No channel option on 14 June 2027 and enrol any remaining clusters in the Stable channel. Those clusters already take the Stable channel's minor-version auto-upgrade dates. Google recommends enrolling before the removal date, so you choose the channel rather than inherit one.
08 Which provider is cheapest for staying on an old Kubernetes version?
On list prices, none of them. Amazon EKS extended support, Azure AKS Premium with long-term support and the GKE Extended channel all come to $0.60 per cluster-hour, six times the usual $0.10 fee. Support periods differ more than prices: EKS adds 12 months, AKS about 12 and GKE about 10.

About the author

Manu Shukla

Founder & Director

Founder of eCorpIT. Hands-on engineer leading senior-only delivery for AI apps, custom software, and cloud systems for global clients.

Subscribe

One engineering note a week. No fluff, no spam.

Senior-architect playbooks on AI agents, mobile apps, cloud, security, data, and marketing — delivered every Wednesday.

Past the reading

Read enough. Let's build something.

A senior architect responds in 24 working hours with scope, indicative cost, and a timeline. NDA before any technical conversation.