Skip to content

Commit 4f8c731

Browse files
committed
Initial editing and freshness pass
1 parent a807a92 commit 4f8c731

File tree

1 file changed

+75
-72
lines changed

1 file changed

+75
-72
lines changed

articles/aks/start-stop-nodepools.md

Lines changed: 75 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -2,104 +2,107 @@
22
title: Start and stop a node pool on Azure Kubernetes Service (AKS)
33
description: Learn how to start or stop a node pool on Azure Kubernetes Service (AKS).
44
ms.topic: article
5-
ms.date: 10/25/2021
5+
ms.date: 04/25/2023
66
author: qpetraroia
77
ms.author: qpetraroia
88
---
99

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

12-
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.
12+
You might not need to continuously run your AKS workloads. For example, you might have a development cluster that has node pools running specific workloads. To optimize your compute costs, you can completely stop your node pools in your AKS cluster.
13+
14+
## Features and limitations
15+
16+
* You can't stop system pools.
17+
* Spot node pools are supported.
18+
* Stopped node pools can be upgraded.
19+
* The cluster and node pool must be running.
1320

1421
## Before you begin
1522

16-
This article assumes that you have an existing AKS cluster. If you need an AKS cluster, see the AKS quickstart [using the Azure CLI][aks-quickstart-cli], [using Azure PowerShell][aks-quickstart-powershell], or [using the Azure portal][aks-quickstart-portal].
23+
This article assumes you have an existing AKS cluster. If you need an AKS cluster, create one using the [Azure CLI][aks-quickstart-cli], [Azure PowerShell][aks-quickstart-powershell], or the [Azure portal][aks-quickstart-portal].
1724

1825
## Stop an AKS node pool
1926

20-
> [!IMPORTANT]
21-
> When using node pool start/stop, the following is expected behavior:
22-
>
23-
> * You can't stop system pools.
24-
> * Spot node pools are supported.
25-
> * Stopped node pools can be upgraded.
26-
> * The cluster and node pool must be running.
27-
28-
Use `az aks nodepool stop` to stop a running AKS node pool. The following example stops the *testnodepool* node pool:
29-
30-
```azurecli-interactive
31-
az aks nodepool stop --nodepool-name testnodepool --resource-group myResourceGroup --cluster-name myAKSCluster
32-
```
33-
34-
You can verify when your node pool is stopped by using the [az aks show][az-aks-show] command and confirming the `powerState` shows as `Stopped` as on the below output:
35-
36-
```json
37-
{
38-
[...]
39-
"osType": "Linux",
40-
"podSubnetId": null,
41-
"powerState": {
42-
"code": "Stopped"
43-
},
44-
"provisioningState": "Succeeded",
45-
"proximityPlacementGroupId": null,
46-
[...]
47-
}
48-
```
49-
50-
> [!NOTE]
51-
> If the `provisioningState` shows `Stopping`, your node pool hasn't fully stopped yet.
27+
1. Stop a running AKS node pool using the [`az aks nodepool stop`][az-aks-nodepool-stop] command.
28+
29+
```azurecli-interactive
30+
az aks nodepool stop --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool
31+
```
32+
33+
2. Verify your node pool stopped using the [`az aks nodepool show`][az-aks-nodepool-show] command.
34+
35+
```azurecli-interactive
36+
az aks nodepool show --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool
37+
```
38+
39+
The following condensed example output shows the `powerState` as `Stopped`:
40+
41+
```output
42+
{
43+
[...]
44+
"osType": "Linux",
45+
"podSubnetId": null,
46+
"powerState": {
47+
"code": "Stopped"
48+
},
49+
"provisioningState": "Succeeded",
50+
"proximityPlacementGroupId": null,
51+
[...]
52+
}
53+
```
54+
55+
> [!NOTE]
56+
> If the `provisioningState` shows `Stopping`, your node pool is still in the process of stopping.
57+
58+
---
5259
5360
## Start a stopped AKS node pool
5461
55-
Use `az aks nodepool start` to start a stopped AKS node pool. The following example starts the stopped node pool named *testnodepool*:
62+
1. Restart a stopped node pool using the [`az aks nodepool start`][az-aks-nodepool-start] command.
5663
57-
```azurecli-interactive
58-
az aks nodepool start --nodepool-name testnodepool --resource-group myResourceGroup --cluster-name myAKSCluster
59-
```
64+
```azurecli-interactive
65+
az aks nodepool start --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool
66+
```
6067
61-
You can verify your node pool has started using [az aks show][az-aks-show] and confirming the `powerState` shows `Running`. For example:
68+
2. Verify your node pool started using the [`az aks nodepool show`][az-aks-nodepool-show] command.
6269
63-
```json
64-
{
65-
[...]
66-
"osType": "Linux",
67-
"podSubnetId": null,
68-
"powerState": {
69-
"code": "Running"
70-
},
71-
"provisioningState": "Succeeded",
72-
"proximityPlacementGroupId": null,
73-
[...]
74-
}
75-
```
70+
```azurecli-interactive
71+
az aks nodepool show --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool
72+
```
7673
77-
> [!NOTE]
78-
> If the `provisioningState` shows `Starting`, your node pool hasn't fully started yet.
74+
The following condensed example output shows the `powerState` as `Running`:
75+
76+
```output
77+
{
78+
[...]
79+
"osType": "Linux",
80+
"podSubnetId": null,
81+
"powerState": {
82+
"code": "Running"
83+
},
84+
"provisioningState": "Succeeded",
85+
"proximityPlacementGroupId": null,
86+
[...]
87+
}
88+
```
89+
90+
> [!NOTE]
91+
> If the `provisioningState` shows `Starting`, your node pool is still in the process of starting.
7992
8093
---
8194
8295
## Next steps
8396
84-
- To learn how to scale `User` pools to 0, see [Scale `User` pools to 0](scale-cluster.md#scale-user-node-pools-to-0).
85-
- To learn how to stop your cluster, see [Cluster start/stop](start-stop-cluster.md).
86-
- To learn how to save costs using Spot instances, see [Add a spot node pool to AKS](spot-node-pool.md).
87-
- To learn more about the AKS support policies, see [AKS support policies](support-policies.md).
88-
89-
<!-- LINKS - external -->
97+
* To learn how to scale `User` pools to 0, see [scale `User` pools to 0](scale-cluster.md#scale-user-node-pools-to-0).
98+
* To learn how to stop your cluster, see [cluster start/stop](start-stop-cluster.md).
99+
* To learn how to save costs using Spot instances, see [add a spot node pool to AKS](spot-node-pool.md).
100+
* To learn more about the AKS support policies, see [AKS support policies](support-policies.md).
90101
91102
<!-- LINKS - internal -->
92103
[aks-quickstart-cli]: ./learn/quick-kubernetes-deploy-cli.md
93104
[aks-quickstart-portal]: ./learn/quick-kubernetes-deploy-portal.md
94105
[aks-quickstart-powershell]: ./learn/quick-kubernetes-deploy-powershell.md
95-
[install-azure-cli]: /cli/azure/install-azure-cli
96-
[az-extension-add]: /cli/azure/extension#az_extension_add
97-
[az-extension-update]: /cli/azure/extension#az_extension_update
98-
[az-feature-register]: /cli/azure/feature#az_feature_register
99-
[az-feature-list]: /cli/azure/feature#az_feature_list
100-
[az-provider-register]: /cli/azure/provider#az_provider_register
101-
[az-aks-show]: /cli/azure/aks#az_aks_show
102-
[kubernetes-walkthrough-powershell]: kubernetes-walkthrough-powershell.md
103-
[stop-azakscluster]: /powershell/module/az.aks/stop-azakscluster
104-
[get-azakscluster]: /powershell/module/az.aks/get-azakscluster
105-
[start-azakscluster]: /powershell/module/az.aks/start-azakscluster
106+
[az-aks-nodepool-stop]: /cli/azure/aks/nodepool#az_aks_nodepool_stop
107+
[az-aks-nodepool-start]:/cli/azure/aks/nodepool#az_aks_nodepool_start
108+
[az-aks-nodepool-show]: /cli/azure/aks/nodepool#az_aks_nodepool_show

0 commit comments

Comments
 (0)