在 Azure Arc 启用的 AKS 中使用群集标签
适用于:Azure 本地版本 23H2
如果有多个节点池,可能需要在创建节点池期间添加标签。 Kubernetes 标签处理节点的计划规则。
本文介绍如何在已启用 Arc 的 AKS 上的 Kubernetes 群集中使用标签。
使用标签创建 Kubernetes 群集
使用
az aksarc create
命令创建带有标签的 Kubernetes 群集,并指定--node-labels
用于设置标签的参数。 标签必须是键/值对,并且具有 有效的语法。az aksarc create --resource-group myResourceGroup --name myAKSCluster --node-count 2 --nodepool-labels dept=IT
使用
kubectl get nodes --show-labels
以下命令验证是否已设置标签:kubectl get nodes --show-labels | grep -e "dept=IT"
创建带标签的节点池
使用
az aksarc nodepool add
命令创建具有标签的节点池, 并为--labels
参数指定--name
参数的名称和标签。 标签必须是键/值对,并且具有 有效的语法。以下示例创建一个名为标签
dept=HR
的节点池labelnp
:az aksarc nodepool add --resource-group myResourceGroup --cluster-name myAKSCluster --name labelnp --node-count 1 --labels dept=HR –no-wait
以下命令的
az aksarc nodepool list
以下示例输出显示labelnp
节点池创建具有指定节点nodeLabels
的节点:[ { ... "count": 1, ... "name": "labelnp", "orchestratorVersion": "1.15.7", ... "provisioningState": "Creating", ... "nodeLabels": { "costcenter": "5000", "dept": "HR" }, ... }, ... ]
使用
kubectl get nodes --show-labels
以下命令验证是否已设置标签:kubectl get nodes --show-labels | grep -e "dept=HR"
更新现有节点池上的标签
使用 az aksarc nodepool update 命令更新现有节点池上的标签。 更新现有节点池上的标签会使用新标签覆盖旧标签。 标签必须是键/值对,并且 具有有效的语法。
az aksarc nodepool update --resource-group myResourceGroup --cluster-name myAKSCluster --name labelnp --labels dept=ACCT costcenter=6000 --no-wait
使用
kubectl get nodes --show-labels
命令验证是否已设置标签。kubectl get nodes --show-labels | grep -e "costcenter=6000" -e "dept=ACCT"
不可用的标签
Azure Arc 启用的 AKS 遵循与 AKS 相同的规则:
- 无法更改保留的系统标签。 如果尝试执行此操作,将返回错误。
- Kubernetes 和 AKS 保留前缀不能用于任何节点。
有关详细信息,请参阅 AKS 文档中的“不可用”标签 。
后续步骤
有关 Kubernetes 标签的详细信息, 请参阅 Kubernetes 文档。