如果你有多个节点池,可能希望在创建节点池期间添加标签。
Kubernetes 标签
处理节点的计划规则。 可以随时将标签添加到节点池,并将其应用于该节点池的所有节点。
在本操作指南中,你会了解如何在 Azure Kubernetes 服务 (AKS) 群集中使用标签。
需要安装并配置 Azure CLI 2.2.0 或更高版本。 运行
az --version
即可查找版本。 如果需要进行安装或升级,请参阅
安装 Azure CLI
。
创建带标签的 AKS 群集
使用
az aks create
命令创建具有标签的 AKS 群集,并指定
--node-labels
参数以设置标签。 标签必须是键/值对,并采用
有效的语法
。
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 2 \
--nodepool-labels dept=IT costcenter=9000 \
--generate-ssh-keys
使用kubectl get nodes --show-labels
命令验证是否已设置标签。
kubectl get nodes --show-labels | grep -e "costcenter=9000" -e "dept=IT"
创建带标签的节点池
使用az aks nodepool add
命令创建具有标签的节点池, 并为--name
参数指定--labels
参数的名称和标签。 标签必须是键/值对,并采用有效的语法
以下示例命令创建名为labelnp的节点池,其标签 为dept=HR和costcenter=5000。
az aks nodepool add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name labelnp \
--node-count 1 \
--labels dept=HR costcenter=5000 \
--no-wait
az aks 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 "costcenter=5000" -e "dept=HR"
更新现有节点池上的标签
使用az aks nodepool update
命令更新现有节点池上的标签。 更新现有节点池上的标签会使用新标签覆盖旧标签。 标签必须是键/值对,并采用有效的语法。
az aks 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"
不可用的标签
保留的系统标签
从2021-08-19 AKS 版本开始,AKS 停用了对 AKS 保留的标签进行更改的功能。 尝试更改这些标签会导致出现错误消息。
以下标签是 AKS 保留的标签。 “虚拟节点用途”指定这些标签是否可以用作虚拟节点上的受支持系统功能。 这些系统功能更改的一些属性在虚拟节点上不可用,因为它们需要修改主机。
示例/选项
虚拟节点用途
“相同”是指标签的预期值在标准节点池和虚拟节点池中没有差别。 由于虚拟节点 pod 不公开任何基础虚拟机 (VM),因此 VM SKU 值已替换为 SKU“虚拟”。
虚拟节点版本指的是虚拟 Kubelet-ACI 连接器的当前版本。
“虚拟节点子网名称”是虚拟节点 pod 从中部署到 Azure 容器实例 (ACI) 的子网的名称。
虚拟节点虚拟网络 是虚拟网络的名称,包含了虚拟节点 pod 在其中通过 ACI 部署的子网。
保留的前缀
以下前缀是 AKS 保留的前缀,不能用于任何节点:
kubernetes.azure.com/
kubernetes.io/
有关预留前缀的详细信息,请参阅 Kubernetes 的已知标签、注释和排斥。
已弃用的标签
随着 Kubernetes v1.24 的发布,已计划弃用以下标签。 应将任何标签引用更改为引用建议的替代标签。
建议的替代品
Maintainer