Start and stop an Azure Kubernetes Service (AKS) node pool

Your AKS workloads may not need to run continuously, for example a development cluster that has node pools running specific workloads. To optimize your costs, you can completely turn off (stop) your node pools in your AKS cluster, allowing you to save on compute costs.

Before you begin

This article assumes that you have an existing AKS cluster. If you need an AKS cluster, see the AKS quickstart using the Azure CLI, using Azure PowerShell, or using the Azure portal.

Stop an AKS node pool

Important

When using node pool start/stop, the following is expected behavior:

  • You can't stop system pools.
  • Spot node pools are supported.
  • Stopped node pools can be upgraded.
  • The cluster and node pool must be running.

Use az aks nodepool stop to stop a running AKS node pool. The following example stops the testnodepool node pool:

az aks nodepool stop --nodepool-name testnodepool --resource-group myResourceGroup --cluster-name myAKSCluster

You can verify when your node pool is stopped by using the az aks show command and confirming the powerState shows as Stopped as on the below output:

{
[...]
 "osType": "Linux",
    "podSubnetId": null,
    "powerState": {
        "code": "Stopped"
        },
    "provisioningState": "Succeeded",
    "proximityPlacementGroupId": null,
[...]
}

Note

If the provisioningState shows Stopping, your node pool hasn't fully stopped yet.

Start a stopped AKS node pool

Use az aks nodepool start to start a stopped AKS node pool. The following example starts the stopped node pool named testnodepool:

az aks nodepool start --nodepool-name testnodepool --resource-group myResourceGroup --cluster-name myAKSCluster

You can verify your node pool has started using az aks show and confirming the powerState shows Running. For example:

{
[...]
 "osType": "Linux",
    "podSubnetId": null,
    "powerState": {
        "code": "Running"
        },
    "provisioningState": "Succeeded",
    "proximityPlacementGroupId": null,
[...]
}

Note

If the provisioningState shows Starting, your node pool hasn't fully started yet.


Next steps