Skip to content

Commit 3c759c5

Browse files
Merge pull request #248484 from justindavies/lts
Initial commit for PR
2 parents acb9b3b + c2fcf4b commit 3c759c5

File tree

3 files changed

+120
-15
lines changed

3 files changed

+120
-15
lines changed

articles/aks/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
href: release-tracker.md
1111
- name: Supported Kubernetes versions
1212
href: supported-kubernetes-versions.md
13+
- name: Long Term Support
14+
href: long-term-support.md
1315
- name: Add-ons, extensions, and other integrations
1416
href: integrations.md
1517
displayName: add-on, extensions, prometheus, grafana, openfaas, spark, istio, linkerd, consul, github, actions

articles/aks/long-term-support.md

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
---
2+
title: Long term support for Azure Kubernetes Service (AKS)
3+
description: Learn about Azure Kubernetes Service (AKS) Long term support for Kubernetes
4+
ms.topic: article
5+
ms.date: 08/16/2023
6+
ms.author: juda
7+
author: justindavies
8+
#Customer intent: As a cluster operator or developer, I want to understand how Long Term Support for Kubernetes on AKS works.
9+
---
10+
11+
# Long term support
12+
The Kubernetes community releases a new minor version approximately every four months, with a support window for each version for one year. This support in terms of Azure Kubernetes Service (AKS) is called "Community Support."
13+
14+
AKS supports versions of Kubernetes that are within this Community Support window, to push bug fixes and security updates from community releases.
15+
16+
While innovation delivered with this release cadence provides huge benefits to you, it challenges you to keep up to date with Kubernetes releases, which can be made more difficult based on the number of AKS clusters you have to maintain.
17+
18+
19+
## AKS support types
20+
After approximately one year, the Kubernetes version exits Community Support and your AKS clusters are now at-risk as bug fixes and security updates become unavailable.
21+
22+
AKS provides one year Community Support and one year of Long Term Support (LTS) to back port security fixes from the community upstream in our public repository. Our upstream LTS working group contributes efforts back to the community to provide our customers with a longer support window.
23+
24+
LTS intends to give you an extended period of time to plan and test for upgrades over a two-year period from the General Availability of the designated Kubernetes version.
25+
26+
| | Community Support |Long Term Support |
27+
|---|---|---|
28+
| **When to use** | When you can keep up with upstream Kubernetes releases | When you need control over when to migrate from one version to another |
29+
| **Support versions** | Three GA minor versions | One Kubernetes version (currently *1.27*) for two years |
30+
31+
32+
## Enable Long Term Support
33+
34+
Enabling and disabling Long Term Support is a combination of moving your cluster to the Premium tier and explicitly selecting the LTS support plan.
35+
36+
> [!NOTE]
37+
> While it's possible to enable LTS when the cluster is in Community Support, you'll be charged once you enable the Premium tier.
38+
39+
### Create a cluster with LTS enabled
40+
```
41+
az aks create --resource-group myResourceGroup --name myAKSCluster --tier premium --k8s-support-plan AKSLongTermSupport --kubernetes-version 1.27
42+
```
43+
44+
> [!NOTE]
45+
> Enabling and disabling LTS is a combination of moving your cluster to the Premium tier, as well as enabling Long Term Support. Both must either be turned on or off.
46+
47+
### Enable LTS on an existing cluster
48+
```
49+
az aks update --resource-group myResourceGroup --name myAKSCluster --tier premium --k8s-support-plan AKSLongTermSupport
50+
```
51+
52+
### Disable LTS on an existing cluster
53+
```
54+
az aks update --resource-group myResourceGroup --name myAKSCluster --tier [free|standard] --k8s-support-plan KubernetesOfficial
55+
```
56+
57+
## Long term support, add-ons and features
58+
The AKS team currently tracks add-on versions where Kubernetes community support exists. Once a version leaves Community Support, we rely on Open Source projects for managed add-ons to continue that support. Due to various external factors, some add-ons and features may not support Kubernetes versions outside these upstream Community Support windows.
59+
60+
See the following table for a list of add-ons and features that aren't supported and the reason why.
61+
62+
| Add-on / Feature | Reason it's unsupported |
63+
---|---|
64+
| Istio | The Istio support cycle is short (six months), and there will not be maintenance releases for Kubernetes 1.27 |
65+
| Keda | Unable to guarantee future version compatibility with Kubernetes 1.27 |
66+
| Calico | Requires Calico Enterprise agreement past Community Support |
67+
| Cillium | Requires Cillium Enterprise agreement past Community Support |
68+
| Azure Linux | Support timeframe for Azure Linux 2 ends during this LTS cycle |
69+
| Key Management Service (KMS) | KMSv2 replaces KMS during this LTS cycle |
70+
| Dapr | AKS extensions are not supported |
71+
| Application Gateway Ingress Controller | Migration to App Gateway for Containers happens during LTS period |
72+
| Open Service Mesh | OSM will be deprecated|
73+
| AAD Pod Identity | Deprecated in place of Workload Identity |
74+
75+
76+
> [!NOTE]
77+
>You can't move your cluster to Long Term support if any of these add-ons or features are enabled.
78+
>Whilst these AKS managed add-ons aren't supported by Microsoft, you're able to install the Open Source versions of these on your cluster if you wish to use it past Community Support.
79+
80+
## How we decide the next LTS version
81+
Versions of Kubernetes LTS are available for two years from General Availability, we mark a later version of Kubernetes as LTS based on the following criteria:
82+
* Sufficient time for customers to migrate from the prior LTS version to the current have passed
83+
* The previous version has had a two year support window
84+
85+
Read the AKS release notes to stay informed of when you're able to plan your migration.
86+
87+
### Migrate from LTS to Community support
88+
Using LTS is a way to extend your window to plan a Kubernetes version upgrade. You may want to migrate to a version of Kubernetes that is within the [standard support window](supported-kubernetes-versions.md#kubernetes-version-support-policy).
89+
90+
To move from an LTS enabled cluster to a version of Kubernetes that is within the standard support window, you need to disable LTS on the cluster:
91+
92+
```
93+
az aks update --resource-group myResourceGroup --name myAKSCluster --tier [free|standard] --k8s-support KubernetesCommunitySupport
94+
```
95+
96+
And then upgrade the cluster to a later supported version:
97+
98+
```
99+
az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version 1.28.3
100+
```
101+
> [!NOTE]
102+
> Kubernetes 1.28.3 is used as an example here, please check the [AKS release tracker](release-tracker.md) for available Kubernetes releases.
103+
104+
There are approximately two years between one LTS version and the next. In lieu of upstream support for migrating more than two minor versions, there's a high likelihood your application depends on Kubernetes APIs that have been deprecated. We recommend you thoroughly test your application on the target LTS Kubernetes version and carry out a blue/green deployment from one version to another.
105+
106+
### Migrate from LTS to the next LTS release
107+
The upstream Kubernetes community supports a two minor version upgrade path. The process migrates the objects in your Kubernetes cluster as part of the upgrade process, and provides a tested, and accredited migration path.
108+
109+
For customers that wish to carry out an in-place migration, the AKS service will migrate your control plane from the previous LTS version to the latest, and then migrate your data plane.
110+
111+
To carry out an in-place upgrade to the latest LTS version, you need to specify an LTS enabled Kubernetes version as the upgrade target.
112+
113+
```
114+
az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version 1.30.2
115+
```
116+
117+
> [!NOTE]
118+
> Kubernetes 1.30.2 is used as an example here, please check the [AKS release tracker](release-tracker.md) for available Kubernetes releases.

articles/aks/supported-kubernetes-versions.md

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -202,21 +202,6 @@ Install-AzAksKubectl -Version latest
202202

203203
---
204204

205-
## Long Term Support (LTS)
206-
207-
AKS provides a Long Term Support (LTS) version of Kubernetes for a two-year period. There's only a single minor version of Kubernetes deemed LTS at any one time.
208-
209-
| | Community Support |Long Term Support |
210-
|---|---|---|
211-
| **When to use** | When you can keep up with upstream Kubernetes releases | When you need control over when to migrate from one version to another |
212-
| **Support versions** | Three GA minor versions | One Kubernetes version (currently *1.27*) for two years |
213-
| **Pricing** | Included | Per hour cluster cost |
214-
215-
The upstream community maintains a minor release of Kubernetes for one year from release. After this period, Microsoft creates and applies security updates to the LTS version of Kubernetes to provide a total of two years of support on AKS.
216-
217-
> [!IMPORTANT]
218-
> Kubernetes version 1.27 will be the first supported LTS version of Kubernetes on AKS. It is not yet available.
219-
220205
## Release and deprecation process
221206

222207
You can reference upcoming version releases and deprecations on the [AKS Kubernetes release calendar](#aks-kubernetes-release-calendar).

0 commit comments

Comments
 (0)