Azure AKS offers a range of versions to choose from, each with its own set of features and support levels.
You can run AKS on Azure Kubernetes Service (AKS) versions 1.22, 1.23, and 1.24.
AKS version 1.22 is a long-term supported (LTS) version, which means it receives bug fixes and security updates for 12 months after its release date.
AKS version 1.23 and 1.24 are supported for 6 months after their release dates.
Upgrades to AKS are available for all supported versions.
Azure AKS Pricing
Azure AKS Pricing is designed to meet your different workload needs. You can choose from flexible, tier-based pricing options.
The Automatic tier (preview) is available for you to try and provide feedback. I've tried it myself and found it to be a great way to test the waters before committing to a paid plan.
For all production workloads and workloads requiring long-term support, the Standard tier is the way to go. This tier provides the stability and reliability you need for critical applications.
Here are the pricing options summarized in a table:
Azure AKS Management
Azure AKS Management is a breeze. You can get the upgrade versions available for a managed Kubernetes cluster by running az aks get-upgrades.
This command is super helpful when you need to plan for upgrades. It shows you the available upgrade versions, so you can decide which one to use.
To create a managed Kubernetes cluster, you can choose from various versions available for creating one. Simply run az aks get-versions to see the list of available versions.
Using the Cluster
You can use the Azure Kubernetes Service (AKS) CLI to connect to your cluster and start managing it.
To do this, you need to run the command az aks get-credentials --resource-group MyResourceGroup --name MyAKSCluster. This command sets the default namespace and context for your cluster.
The AKS CLI provides a set of commands to manage your cluster, including scaling, upgrading, and updating nodes.
The az aks scale command allows you to scale your cluster up or down. You can specify the number of worker nodes you want to add or remove.
You can also use the az aks upgrade command to upgrade your cluster to a newer version of Kubernetes. This command updates the control plane and node images.
The az aks update command allows you to update the node count, node labels, and node taints. You can also use this command to update the cluster's Azure Active Directory (AAD) configuration.
To view the status of your cluster, you can use the az aks show command. This command displays information about your cluster, including its name, resource group, and node count.
Az Get-Upgrades
Az Get-Upgrades is a powerful command that helps you get the upgrade versions available for a managed Kubernetes cluster. You can use it to check which versions are ready to be applied to your cluster.
To get the upgrade versions, simply type az aks get-upgrades in your terminal or command prompt. This will list all the available upgrade versions for your cluster.
The default version selected when deploying an AKS cluster is the N-1 minor version and latest patch, but you can check what versions are currently available for your subscription and region using the az aks get-versions command.
Upgrade
You can get the upgrade versions available for a managed Kubernetes cluster using the command "az aks get-upgrades". This will give you a list of available upgrades for your cluster.
To upgrade your cluster, you can use the "az aks upgrade" command. This will upgrade the cluster control plane and all node pools to the latest available version.
You can also specify the version of Kubernetes to upgrade to, such as "1.16.9", using the "--kubernetes-version" option. This will ensure that your cluster is upgraded to the specific version you want.
If you want to upgrade the cluster control plane only, you can use the "--control-plane-only" option. This will upgrade the control plane without affecting the node pools.
You can also use the "--only-upgrade-node-image" option to only upgrade the node image for agent pools. This is useful if you want to upgrade the node image without affecting the control plane or other node pools.
The upgrade process may take some time, and Kubernetes will be unavailable during the upgrade. Be sure to plan accordingly and schedule the upgrade during a maintenance window.
You can also specify the SKU tier for managed clusters using the "--tier" option. This will enable a standard managed cluster service with a financially backed SLA or a free service without a financially backed SLA.
The upgrade settings override will be effective until a specified date and time. You can set this using the "--upgrade-override-until" option, which must be in a valid date-time format within the next 30 days.
Components Breaking Changes
Important changes occur before upgrading to any available minor version.
Note the following breaking changes: AKS components breaking changes by version, which is crucial for a smooth upgrade process.
Before upgrading, review the AKS components breaking changes by version to avoid any issues.
AKS components breaking changes by version is a critical consideration for AKS management.
To ensure a seamless upgrade, familiarize yourself with the breaking changes in AKS components by version.
Kubernetes Versions
Kubernetes uses the standard Semantic Versioning versioning scheme for each version, which is made up of three numbers: the major version, the minor version, and the patch version. Each number indicates general compatibility with the previous version.
The major version changes when incompatible API updates or backwards compatibility might be broken. Minor versions change when functionality updates are made that are backwards compatible to the other minor releases. Patch versions change when backwards-compatible bug fixes are made.
It's recommended to run the latest patch release of the minor version you're running. For example, if your production cluster is on 1.29.1 and 1.29.2 is the latest available patch version available for the 1.29 minor version, you should upgrade to 1.29.2 as soon as possible to ensure your cluster is fully patched and supported.
AKS Kubernetes release calendar is a great resource to view upcoming version releases. To see real-time updates of region release status and version release notes, visit the AKS release status webpage.
AKS follows 12 months of support for a generally available (GA) Kubernetes version. To read more about our support policy for Kubernetes versioning, please read our FAQ.
Here's a breakdown of the supported window of Kubernetes minor versions on AKS, known as "N-2", where N refers to the latest release:
When a new minor version is introduced, the oldest minor version is deprecated and removed. For example, when AKS releases 1.30, all the 1.27 versions go out of support 30 days later.
AKS may support any number of patches based on upstream community release availability for a given minor version.
Version Support and Policy
Azure AKS versions have a clear versioning scheme, with major versions indicating incompatible API updates or backwards compatibility breaks, minor versions indicating functionality updates that are backwards compatible, and patch versions indicating backwards-compatible bug fixes.
AKS defines a generally available (GA) version as one available in all regions and enabled in all SLO or SLA measurements, and supports three GA minor versions of Kubernetes: the latest, and two previous minor versions.
The supported window of Kubernetes minor versions on AKS is known as "N-2", where N refers to the latest release, meaning that two previous minor releases are also supported. For example, on the day that AKS introduces version 1.29, support is provided for the following versions: 1.29, 1.28, and 1.27.
Here's a summary of the supported versions policy:
Az Upgrade
You can get the upgrade versions available for a managed Kubernetes cluster by running az aks get-upgrades.
To upgrade a managed Kubernetes cluster to a newer version, use the az aks upgrade command. This will make the Kubernetes cluster unavailable during the upgrade process.
The upgrade process can be done for both the control plane and all node pools, or just the control plane, depending on your preference. If you don't specify, both control plane and all node pools will be upgraded.
You can specify the version of Kubernetes to upgrade to, such as "1.16.9". You can also choose to only upgrade the node image for agent pools.
If you want to enable a standard managed cluster service with a financially backed SLA, use the '--tier standard' option. This is the default option if you don't specify a tier.
You can also set a specific date and time for the upgrade settings to be effective, such as 2023-04-01T13:00:00Z. This must be within the next 30 days.
In some cases, you may need to use the aks-preview extension to upgrade an existing cluster. This requires the source cluster snapshot id and will not prompt for confirmation.
Kubernetes Release Calendar
Azure Kubernetes Service (AKS) provides a predictable release schedule, allowing you to plan ahead for version updates. This means you can ensure your cluster remains secure and up-to-date.
AKS follows a 12-month support policy for generally available (GA) Kubernetes versions. This policy is clearly outlined on the AKS release status webpage, which provides real-time updates on region release status and version release notes.
The AKS Kubernetes release calendar is a valuable resource for understanding upcoming version releases. You can find the latest information on the AKS Kubernetes release calendar.
Here's a summary of the AKS Kubernetes release calendar:
Long-term support (LTS) versions are also available for AKS, which provide additional support beyond the standard 12-month policy. For example, AKS version 1.30 will receive LTS support until July 2026.
Kubernetes Version Support Policy
Kubernetes uses the standard Semantic Versioning versioning scheme, where each number indicates general compatibility with the previous version. Major versions change when incompatible API updates or backwards compatibility might be broken.
For example, if your production cluster is on 1.29.1, you should aim to run the latest patch release of the minor version, which is 1.29.2, as soon as possible to ensure your cluster is fully patched and supported.
AKS defines a generally available (GA) version as a version available in all regions and enabled in all SLO or SLA measurements. AKS supports three GA minor versions of Kubernetes: the latest GA minor version released, and two previous minor versions.
The supported window of Kubernetes minor versions on AKS is known as "N-2", where N refers to the latest release, meaning that two previous minor releases are also supported. For example, on the day that AKS introduces version 1.29, support is provided for the following versions: 1.29, 1.28, and 1.27.
AKS provides platform support only for one GA minor version of Kubernetes after the regular supported versions. The platform support window of Kubernetes versions on AKS is known as "N-3". This means that if the latest supported version is 1.29, then 1.26 is considered platform support.
Here's a summary of the support categories:
Note that platform support doesn't support anything from relying on Kubernetes upstream, and any scenarios related to Kubernetes functionality and components aren't supported for N-3.
Frequently Asked Questions
How to check aks version?
To check the AKS version, run the command `az aks show --resource-group
Sources
- https://docs.ansible.com/ansible/latest/collections/azure/azcollection/azure_rm_aksversion_info_module.html
- https://azure.microsoft.com/en-us/products/kubernetes-service
- https://docs.cloudify.co/7.0.0/trial_getting_started/examples_k8s/create_cluster/azure_aks_cluster/
- https://learn.microsoft.com/en-us/cli/azure/aks
- https://learn.microsoft.com/en-us/azure/aks/supported-kubernetes-versions
Featured Images: pexels.com