If, like me, you’ve been using Azure Kubernetes Service (AKS) for a while, you have probably heard of AKS addons. You may have even installed some. But do you actually know how they get updated and whose responsibility it is to do the updates. In this article I’m going to explain just that. I’m also going to explain what AKS cluster extensions are. These are relatively new and something I think we will be seeing more of in the future. Anyway, let’s get to it.
So, let’s have a little recap on what AKS addons are. AKS addons are a way for you, the operator of AKS, to enable certain features on your cluster. Some of these features include monitoring, Azure Policy, Application Gateway Ingress Controller, Open Service Mesh, and integration with Azure Key Vault. With an AKS addon you don’t actually have any option for extra configuration like you would normally have if you were installing via helm charts.
You are able to install an AKS addon using the Azure CLI, Rest API, Infrastructure as Code (IaC) and, for a couple, via the portal. Once the addon has been installed you will notice some objects running in your cluster ready for usage, but once they are running whose responsibility is it to keep them up to date? Well, it is actually a bit of Microsoft and a bit of yourself. Any patch, including security patches will be managed by Microsoft and they will push the changes when needed so you don’t have to worry. For anything bigger than a patch, like major or minor version changes (which can have breaking changes to your deployed objects), say Open Service Mesh version 0.9.2 to version 1.0.0 is your responsibility, but don’t fret, it is not hard to perform the update. In fact, all you have to do is to update your cluster.
Every week or so the AKS team perform a release and publish the release notes to the AKS git repo. https://github.com/Azure/AKS/releases If you are not already watching this repo, I advise you to do so. In the release 2022-02-10 https://github.com/Azure/AKS/releases/tag/2022-02-10 you will notice under the Component Updates section Open Service Mesh has been updated. This is their way of informing us with your next cluster upgrade the AKS addon will also be updated, so make sure you do it in test/dev first and ensure your application continues to work as expected.
There you go, you now know how AKS addons are updated and who is responsible for the updates. Let’s move on to AKS extensions.
As mentioned above AKS cluster extensions are relatively new in the world of managed AKS and currently still in preview at the time of writing this blog post. They have, in fact, been around a while with Arc-enabled Kubernetes. But what actually are cluster extensions?
Cluster extensions are at its core, helm charts, with Microsoft tooling on top to provide an Azure Resource Manager (ARM) driven experience not only for installation but also lifecycle management allowing integration to the Azure Portal. You can even install cluster extensions to a namespace rather than the whole cluster unlike AKS addons, which are cluster wide only. At the time of writing there are only three cluster extensions available to AKS. You can view them at https://docs.microsoft.com/en-us/azure/aks/cluster-extensions?tabs=azure-cli#currently-available-extensions. As you can see on that page there are a lot of options for you when it comes to installing a cluster extension.
Now, the important question, whose responsibility is it to keep cluster extensions up to date. It is 100% the cluster operator or admin and, in fact, each extension may have different upgrade options so, before you do the upgrade, it is advised to check the documentation for each individual cluster extension you want to update. From the link above you are able to click the extension name to take you to the documentation, so make sure you bookmark that page.
If you want to start playing around with cluster extensions, you can follow the guide found on this doc’s page: https://docs.microsoft.com/en-us/azure/aks/cluster-extensions?tabs=azure-cli. But remember it is still in preview.
Well, there you have it, you now know what AKS addons and AKS cluster extensions are, and also who is responsible for keeping each of them up to date.
Thank you for reading this blog post, I hope you found it helpful. If you have any questions, then please reach out.