Use Flatcar Container Linux for Azure Kubernetes Service (AKS) (preview)

This article provides an overview of Flatcar Container Linux for AKS, a Cloud Native Compute Foundation (CNCF) project that provides security, reliability, and cross-cloud capabilities. Flatcar Container Linux is available in preview as an OS option on AKS. You can deploy Flatcar Container Linux node pools in a new AKS cluster or add Flatcar Container Linux node pools to your existing clusters. To learn more about Flatcar Container Linux, see the Flatcar documentation.

Flatcar Container Linux for AKS benefits

Flatcar uses an immutable OS filesystem, and it eliminates configuration drift and prevents unauthorized changes, ensuring robust protection for your workloads across multiple cloud platforms. Designed for versatility, Flatcar enables cross-cloud deployment, empowering businesses to scale effortlessly and securely.

Limitations

Flatcar Container Linux for AKS has the following limitations:

Note

If you have an existing cluster with any of the above features enabled, you might not be able to add a node pool using Flatcar Container Linux.

Get started with Flatcar Container Linux for AKS

To get started using the Flatcar Container Linux for AKS, see the following resources:

  • Deploy an Azure Kubernetes Service (AKS) cluster with Flatcar Container Linux for AKS (preview) using Azure CLI
  • Deploy an Azure Kubernetes Service (AKS) cluster with Flatcar Container Linux for AKS (preview) using an ARM template
  • Create an AKS cluster with a single Flatcar Container Linux for AKS (preview) node pool using Azure CLI or an ARM template
  • Add a Flatcar Container Linux for AKS (preview) node pool to an existing cluster using Azure CLI or an ARM template

OS migrations and upgrades with Flatcar Container Linux

AKS doesn't support in-place migrations from existing Linux clusters or node pools to Flatcar Container Linux clusters or node pools. To migrate existing workloads to Flatcar Container Linux for AKS, you need to recreate your node pools using --os-sku flatcar.

Flatcar Container Linux for AKS releases weekly AKS node images. Versioning follows the AKS date-based format (for example: 202506.13.0). You can check the node images in the release notes and by using the az aks nodepool list command to view the nodeImageVersion. For example:

az aks nodepool list --resource-group <resource-group-name> --cluster-name <aks-cluster-name> --query '[].{name: name, nodeImageVersion: nodeImageVersion}'

Example output:

[
{
    "name": "nodes",
    "nodeImageVersion": "AKSFlatcar-flatcargen2-202508.06.0"
}
]

You can check the Flatcar version number (for example: Flatcar 4372.0.1) in the release notes and by using kubectl get nodes command. For example:

kubectl get nodes -o wide

Example output:

NAME                            STATUS   ROLES    AGE     VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE                                             KERNEL-VERSION    CONTAINER-RUNTIME
aks-nodes-16363508-vmss000000   Ready    <none>   2m33s   v1.32.6   10.224.0.4    <none>        Flatcar Container Linux by Kinvolk 4372.0.1 (Oklo)   6.12.35-flatcar   containerd://2.0.4

Flatcar's inbuilt automatic A/B update for the OS partition is disabled and only full node image updates are supported.

Next steps

To learn more about Flatcar Container Linux, see the Flatcar documentation.