Deploy on Azure AKS¶
This guide shows you how to prepare an AKS cluster for Kionga and install the chart with the AKS overlay. It adds the Azure steps to Deploy on Kubernetes; read that guide first.
Before you begin¶
- An AKS cluster with Linux node pools: at least three Ready nodes across two or more availability zones.
- The OIDC issuer and Microsoft Entra Workload ID turned on.
- A network policy engine. For new clusters, prefer Azure CNI powered by Cilium; Azure Network Policy Manager has a published retirement path.
- The Azure Disk CSI driver and its identity permissions.
- The Azure CLI,
kubectland Helm, signed in with an identity that can read the cluster. - The dependencies listed in Deploy on Kubernetes, with their credentials in Azure Key Vault.
- External Secrets Operator, an ingress controller, wildcard DNS and TLS
certificates. The overlay sets
ingress.className: nginx; change it if you use another controller.
Steps¶
-
Get cluster credentials under a fixed context name:
-
Create the secret-reader identity. Create a managed identity that can read only the Kionga secrets in Key Vault, and add a federated credential for the Kubernetes service account
kionga-secret-readerinkionga-system. Put the identity's client ID and the vault name intodeploy/helm/secretstore-azure.example.yaml. -
Create the namespace, CRDs and pull Secret, as in steps 1 and 2 of Deploy on Kubernetes, then apply the secret store:
-
Create the storage class
kionga-azuredisk-premium(Premium SSD, expandable, retained, bound on first use):Azure Disks are zonal and single-writer. Keep shared project data in object storage, not a shared volume.
-
Run the preflight check.
python3 deploy/scripts/cloud-preflight.py aks --context kionga-aks --cluster CLUSTER --resource-group RESOURCE_GROUPIt confirms that the context points at this cluster, that the cluster is provisioned, that the OIDC issuer, Workload Identity and a network policy engine are on, that there are three Ready nodes in two zones, and that the storage class is configured as above.
-
Check and install with the AKS overlay after your values file:
Verify¶
The preflight reads reported configuration only. It does not prove IAM permissions, policy behavior, disk attachment or recovery. Follow Verify in the Kubernetes guide, then run restore and failover drills before you admit users.
Next steps¶
Related: AKS Workload ID, AKS network policies, Azure Disk CSI, External Secrets for Azure.