Skip to content

Commit 2bec21d

Browse files
Merge pull request #229766 from schaffererin/system-np-aks
Node affinity
2 parents 81b3f9d + 45fa9a5 commit 2bec21d

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

articles/aks/use-system-pools.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ The following limitations apply when you create and manage AKS clusters that sup
3838

3939
## System and user node pools
4040

41-
For a system node pool, AKS automatically assigns the label **kubernetes.azure.com/mode: system** to its nodes. This causes AKS to prefer scheduling system pods on node pools that contain this label. This label doesn't prevent you from scheduling application pods on system node pools. However, we recommend you isolate critical system pods from your application pods to prevent misconfigured or rogue application pods from accidentally killing system pods.
41+
For a system node pool, AKS automatically assigns the label **kubernetes.azure.com/mode: system** to its nodes. This causes AKS to prefer scheduling system pods on node pools that contain this label. This label doesn't prevent you from scheduling application pods on system node pools. However, we recommend you isolate critical system pods from your application pods to prevent misconfigured or rogue application pods from accidentally killing system pods.
42+
4243
You can enforce this behavior by creating a dedicated system node pool. Use the `CriticalAddonsOnly=true:NoSchedule` taint to prevent application pods from being scheduled on system node pools.
4344

4445
System node pools have the following restrictions:
@@ -61,6 +62,7 @@ You can do the following operations with node pools:
6162
* You can delete system node pools, provided you have another system node pool to take its place in the AKS cluster.
6263
* An AKS cluster may have multiple system node pools and requires at least one system node pool.
6364
* If you want to change various immutable settings on existing node pools, you can create new node pools to replace them. One example is to add a new node pool with a new maxPods setting and delete the old node pool.
65+
* Use [node affinity][node-affinity] to *require* or *prefer* which nodes can be scheduled based on node labels. You can set `key` to `kubernetes.azure.com`, `operator` to `In`, and `values` of either `user` or `system` to your YAML, applying this definition using `kubectl apply -f yourYAML.yaml`.
6466

6567
## Create a new AKS cluster with a system node pool
6668

@@ -104,7 +106,7 @@ New-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -NodeCoun
104106

105107
### [Azure CLI](#tab/azure-cli)
106108

107-
You can add one or more system node pools to existing AKS clusters. It's recommended to schedule your application pods on user node pools, and dedicate system node pools to only critical system pods. This prevents rogue application pods from accidentally killing system pods. Enforce this behavior with the `CriticalAddonsOnly=true:NoSchedule` [taint][aks-taints] for your system node pools.
109+
You can add one or more system node pools to existing AKS clusters. It's recommended to schedule your application pods on user node pools, and dedicate system node pools to only critical system pods. This prevents rogue application pods from accidentally killing system pods. Enforce this behavior with the `CriticalAddonsOnly=true:NoSchedule` [taint][aks-taints] for your system node pools.
108110

109111
The following command adds a dedicated node pool of mode type system with a default count of three nodes.
110112

@@ -143,7 +145,7 @@ $myAKSCluster | Set-AzAksCluster
143145

144146
## Show details for your node pool
145147

146-
You can check the details of your node pool with the following command.
148+
You can check the details of your node pool with the following command.
147149

148150
### [Azure CLI](#tab/azure-cli)
149151

@@ -354,3 +356,4 @@ In this article, you learned how to create and manage system node pools in an AK
354356
[maximum-pods]: configure-azure-cni.md#maximum-pods-per-node
355357
[update-node-pool-mode]: use-system-pools.md#update-existing-cluster-system-and-user-node-pools
356358
[start-stop-nodepools]: /start-stop-nodepools.md
359+
[node-affinity]: operator-best-practices-advanced-scheduler.md#node-affinity

0 commit comments

Comments
 (0)