Azure Provider
The Azure provider creates managed Azure Kubernetes Service (AKS) clusters via the Azure SDK. It is the only provider available for the AKS distribution.
Prerequisites
Section titled “Prerequisites”- Azure subscription — with permissions to create AKS clusters and their managed infrastructure
- Azure credentials — resolved via the Azure SDK’s
DefaultAzureCredentialchain (environment variables, managed identity, workload identity, or Azure CLI login):Terminal window az login# or service-principal environment variables:export AZURE_CLIENT_ID=...export AZURE_TENANT_ID=...export AZURE_CLIENT_SECRET=... - Subscription and resource group — exported in the environment:
Creating a cluster requires the resource group. For operations on an existing cluster — read-only ones (list, info) and lifecycle ones (start, stop, delete) — KSail can resolve the resource group from the cluster’s ARM ID via a subscription-wide search when the variable is unset.
Terminal window export AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000export AZURE_RESOURCE_GROUP=my-resource-group - Docker — required locally for the
ksailCLI
Configuration
Section titled “Configuration”ksail.yaml Reference
Section titled “ksail.yaml Reference”# yaml-language-server: $schema=https://raw.githubusercontent.com/devantler-tech/ksail/main/schemas/ksail-config.schema.jsonapiVersion: ksail.io/v1alpha1kind: Clustermetadata: name: aks-defaultspec: cluster: distribution: AKS provider: AzureBy default KSail reads the subscription from AZURE_SUBSCRIPTION_ID and the resource group from AZURE_RESOURCE_GROUP. If your environment uses different variable names, point KSail at them:
spec: provider: azure: subscriptionIdEnvVar: MY_SUBSCRIPTION_VAR # defaults to AZURE_SUBSCRIPTION_ID resourceGroupEnvVar: MY_RESOURCE_GROUP_VAR # defaults to AZURE_RESOURCE_GROUPThe cluster shape (agent pools, versions, networking) lives in aks.yaml — see the AKS distribution guide for the configuration reference.
Characteristics
Section titled “Characteristics”| Property | Value |
|---|---|
| Supported distribution | AKS |
| Infrastructure type | Cloud (managed Microsoft Azure) |
| Local registries | ❌ Not supported |
| Local mirrors | ❌ Not supported (use external URLs) |
| CNI | Azure CNI (provided) |
| CSI | Azure Disk CSI driver (provided) |
| LoadBalancer support | Built-in (Azure-managed) |
| Start/Stop | AKS native cluster stop/start (deallocates the whole cluster, state kept) |
Limitations
Section titled “Limitations”- Cloud provider — local Docker containers (mirrors, registries) are inaccessible from the cluster
- Only one distribution is supported: AKS
- Cloud clusters incur Azure charges while running