{
  "slug": "azure-aks-kubernetes-1-35-platform-initiated-upgrade-breaking-change",
  "title": "Azure Kubernetes Service: Kubernetes 1.35 platform-initiated upgrade",
  "summary": "Microsoft lists Jun 2027 as the planned rollout month, a planning estimate, of the platform-initiated upgrade for clusters still running Kubernetes 1.35 on Azure Kubernetes Service. Clusters enrolled in long-term support (LTS) follow the month in the LTS versions table.",
  "cloud": "azure",
  "service": "Azure Kubernetes Service",
  "service_slug": "aks",
  "category": "kubernetes",
  "type": "breaking_change",
  "announced_date": null,
  "effective_date": "2027-06-01",
  "effective_precision": "month",
  "impact": "From June 1, 2027, AKS automatically upgrades any cluster that stays on an unsupported Kubernetes version after its 60-day platform support grace period ends. It applies to AKS in the Azure public cloud. Upgrades can occur during or after the listed month. Clusters enrolled in long-term support (LTS) follow the month in the LTS versions table. A platform-initiated upgrade:\n\n- does not follow the maintenance window\n- does not stop for deprecated API usage\n- can override a Pod Disruption Budget if a node drain times out or fails\n- cannot be canceled once started, and cannot be rolled back\n- moves the cluster to the lowest supported version within its current support tier",
  "migration_path": "1. Find clusters that are out of support or approaching end of life with the Azure Resource Graph query and the [release calendar](https://learn.microsoft.com/en-us/azure/aks/supported-kubernetes-versions#aks-kubernetes-release-calendar-and-upcoming-versions).\n2. Remove dependencies on deprecated APIs: update workloads, manifests, clients, controllers and self-managed add-ons that use APIs removed from the target Kubernetes version.\n3. Check the Kubernetes version compatibility of each self-managed add-on, and upgrade or replace an incompatible add-on.\n4. Review [VM family quota, regional SKU availability, and subnet IP capacity](https://learn.microsoft.com/en-us/azure/aks/quotas-skus-regions), and test that Pod Disruption Budgets allow a node drain to complete.\n5. Upgrade the cluster to a supported version on your own schedule, before the platform-initiated upgrade month. See [Upgrade an AKS cluster control plane](https://learn.microsoft.com/en-us/azure/aks/upgrade-aks-control-plane).\n6. If a specific minor version must stay supported for longer, evaluate [AKS long-term support](https://learn.microsoft.com/en-us/azure/aks/long-term-support), an opt-in that requires the Premium tier. LTS clusters get a platform-initiated upgrade after the LTS end-of-life date and its 60-day grace period.",
  "replacement": null,
  "affected_versions": [
    "1.35"
  ],
  "source_url": "https://learn.microsoft.com/azure/aks/supported-kubernetes-versions",
  "extra_source_urls": [],
  "vendor_ref": "azure-kubernetes-service@1.35",
  "last_checked_at": "2026-11-12T09:55:33.220Z",
  "created_at": "2026-11-13T13:36:44.208Z",
  "updated_at": "2026-11-13T13:36:44.208Z",
  "url": "https://eolwatch.dev/items/azure-aks-kubernetes-1-35-platform-initiated-upgrade-breaking-change",
  "short_url": "https://eolwatch.dev/i/6h",
  "markdown_url": "https://eolwatch.dev/items/azure-aks-kubernetes-1-35-platform-initiated-upgrade-breaking-change.md",
  "json_url": "https://eolwatch.dev/items/azure-aks-kubernetes-1-35-platform-initiated-upgrade-breaking-change.json",
  "estate_check": {
    "resource_types": [
      "microsoft.containerservice/managedclusters",
      "azurerm_kubernetes_cluster"
    ],
    "fields": [
      "k8sversion",
      "kubernetes_version",
      "support_plan"
    ],
    "inputs": [
      "Azure Resource Graph export (CSV or JSON)",
      "Terraform state or plan (JSON)",
      "ARM template"
    ]
  },
  "source_note": null
}
