在由 Azure Arc 启用的 AKS 中使用群集标签

适用于:Azure Stack HCI 版本 23H2

如果有多个节点池,可能需要在创建节点池期间添加标签。 Kubernetes 标签处理节点的计划规则。

本文介绍如何在 Arc 启用的 AKS 上的 Kubernetes 群集中使用标签。

创建带有标签的 Kubernetes 群集

  1. 使用 命令创建带有标签的 Kubernetes 群集,az aksarc create--node-labels并指定 参数来设置标签。 标签必须是键/值对,并且具有 有效的语法

    az aksarc create --resource-group myResourceGroup --name myAKSCluster --node-count 2 --nodepool-labels dept=IT
    
  2. 使用 命令验证是否已设置 kubectl get nodes --show-labels 标签:

    kubectl get nodes --show-labels | grep -e "dept=IT"
    

创建带标签的节点池

  1. 使用az aksarc nodepool add命令创建具有标签的节点池, 并为--labels参数指定--name参数的名称和标签。 标签必须是键/值对,并且具有 有效的语法

    以下示例创建一个名为 且标签dept=HRlabelnp 的节点池:

    az aks 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"
        },
        ...
      },
     ...
    ]
    
  2. 使用 kubectl get nodes --show-labels 命令验证是否已设置标签:

    kubectl get nodes --show-labels | grep -e "dept=HR"
    

不可用的标签

Azure Arc 启用的 AKS 遵循与 AKS 相同的规则:

  • 无法更改保留的系统标签。 如果尝试这样做,将返回错误。
  • Kubernetes 和 AKS 保留前缀不能用于任何节点。

有关详细信息,请参阅 AKS 文档中 的不可用标签

后续步骤

有关 Kubernetes 标签的详细信息, 请参阅 Kubernetes 文档