Skip to content

Commit cff4ed2

Browse files
Merge pull request #268698 from schaffererin/usesystemnpsaks
workload SLO best practices related doc updates
2 parents 3a53e94 + 1422668 commit cff4ed2

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

articles/aks/use-system-pools.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.custom: fasttrack-edit, devx-track-azurecli, devx-track-azurepowershell
88

99
# Manage system node pools in Azure Kubernetes Service (AKS)
1010

11-
In Azure Kubernetes Service (AKS), nodes of the same configuration are grouped together into *node pools*. Node pools contain the underlying VMs that run your applications. System node pools and user node pools are two different node pool modes for your AKS clusters. System node pools serve the primary purpose of hosting critical system pods such as `CoreDNS` and `metrics-server`. User node pools serve the primary purpose of hosting your application pods. However, application pods can be scheduled on system node pools if you wish to only have one pool in your AKS cluster. Every AKS cluster must contain at least one system node pool with at least one node.
11+
In Azure Kubernetes Service (AKS), nodes of the same configuration are grouped together into *node pools*. Node pools contain the underlying VMs that run your applications. System node pools and user node pools are two different node pool modes for your AKS clusters. System node pools serve the primary purpose of hosting critical system pods such as `CoreDNS` and `metrics-server`. User node pools serve the primary purpose of hosting your application pods. However, application pods can be scheduled on system node pools if you wish to only have one pool in your AKS cluster. Every AKS cluster must contain at least one system node pool with at least two nodes.
1212

1313
> [!Important]
1414
> If you run a single system node pool for your AKS cluster in a production environment, we recommend you use at least three nodes for the node pool.
@@ -47,10 +47,10 @@ System node pools have the following restrictions:
4747
* System node pools must support at least 30 pods as described by the [minimum and maximum value formula for pods][maximum-pods].
4848
* System pools osType must be Linux.
4949
* User node pools osType may be Linux or Windows.
50-
* System pools must contain at least one node, and user node pools may contain zero or more nodes.
51-
* System node pools require a VM SKU of at least 2 vCPUs and 4GB memory.
50+
* System pools must contain at least two nodes, and user node pools may contain zero or more nodes.
51+
* System node pools require a VM SKU of at least 4 vCPUs and 4GB memory.
5252
* [B series VMs][b-series-vm] are not supported for system node pools.
53-
* A minimum of two nodes 4 vCPUs is recommended (for example, Standard_DS4_v2), especially for large clusters (Multiple CoreDNS Pod replicas, 3-4+ add-ons, etc.).
53+
* A minimum of three nodes of 8 vCPUs or two nodes of at least 16 vCPUs is recommended (for example, Standard_DS4_v2), especially for large clusters (Multiple CoreDNS Pod replicas, 3-4+ add-ons, etc.).
5454
* Spot node pools require user node pools.
5555
* Adding another system node pool or changing which node pool is a system node pool *does not* automatically move system pods. System pods can continue to run on the same node pool, even if you change it to a user node pool. If you delete or scale down a node pool running system pods that were previously a system node pool, those system pods are redeployed with preferred scheduling to the new system node pool.
5656

@@ -69,36 +69,36 @@ You can do the following operations with node pools:
6969

7070
### [Azure CLI](#tab/azure-cli)
7171

72-
When you create a new AKS cluster, you automatically create a system node pool with a single node. The initial node pool defaults to a mode of type system. When you create new node pools with `az aks nodepool add`, those node pools are user node pools unless you explicitly specify the mode parameter.
72+
When you create a new AKS cluster, the initial node pool defaults to a mode of type `system`. When you create new node pools with `az aks nodepool add`, those node pools are user node pools unless you explicitly specify the mode parameter.
7373

7474
The following example creates a resource group named *myResourceGroup* in the *eastus* region.
7575

7676
```azurecli-interactive
7777
az group create --name myResourceGroup --location eastus
7878
```
7979

80-
Use the [az aks create][az-aks-create] command to create an AKS cluster. The following example creates a cluster named *myAKSCluster* with one dedicated system pool containing one node. For your production workloads, ensure you're using system node pools with at least three nodes. This operation may take several minutes to complete.
80+
Use the [az aks create][az-aks-create] command to create an AKS cluster. The following example creates a cluster named *myAKSCluster* with one dedicated system pool containing two nodes. For your production workloads, ensure you're using system node pools with at least three nodes. This operation may take several minutes to complete.
8181

8282
```azurecli-interactive
8383
# Create a new AKS cluster with a single system pool
84-
az aks create -g myResourceGroup --name myAKSCluster --node-count 1 --generate-ssh-keys
84+
az aks create -g myResourceGroup --name myAKSCluster --node-count 2 --generate-ssh-keys
8585
```
8686

8787
### [Azure PowerShell](#tab/azure-powershell)
8888

89-
When you create a new AKS cluster, you automatically create a system node pool with a single node. The initial node pool defaults to a mode of type system. When you create new node pools with `New-AzAksNodePool`, those node pools are user node pools. A node pool's mode can be [updated at any time][update-node-pool-mode].
89+
When you create a new AKS cluster, the initial node pool defaults to a mode of type `system`. When you create new node pools with `New-AzAksNodePool`, those node pools are user node pools. A node pool's mode can be [updated at any time][update-node-pool-mode].
9090

9191
The following example creates a resource group named *myResourceGroup* in the *eastus* region.
9292

9393
```azurepowershell-interactive
9494
New-AzResourceGroup -ResourceGroupName myResourceGroup -Location eastus
9595
```
9696

97-
Use the [New-AzAksCluster][new-azakscluster] cmdlet to create an AKS cluster. The following example creates a cluster named *myAKSCluster* with one dedicated system pool containing one node. For your production workloads, ensure you're using system node pools with at least three nodes. The create operation may take several minutes to complete.
97+
Use the [New-AzAksCluster][new-azakscluster] cmdlet to create an AKS cluster. The following example creates a cluster named *myAKSCluster* with one dedicated system pool containing two nodes. For your production workloads, ensure you're using system node pools with at least three nodes. The create operation may take several minutes to complete.
9898

9999
```azurepowershell-interactive
100100
# Create a new AKS cluster with a single system pool
101-
New-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -NodeCount 1 -GenerateSshKey
101+
New-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -NodeCount 2 -GenerateSshKey
102102
```
103103

104104
---

0 commit comments

Comments
 (0)