共用方式為


在 Azure Arc 所啟用的 AKS 中使用叢集標籤

適用於:Azure 本機版本 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 命令建立具有標籤的節點集區,並指定 --name 參數的名稱和 --labels 參數的標籤。 卷標必須是索引鍵/值組,而且具有 有效的語法

    下列範例會使用 標籤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"
        },
        ...
      },
     ...
    ]
    
  2. 使用 kubectl get nodes --show-labels 命令確認已設定標籤:

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

更新現有節點集區上的標籤

  1. 使用 az aksarc nodepool update 命令更新現有節點集區上的標籤。 更新現有節點集區上的標籤將會以新標籤覆寫舊標籤。 卷標必須是索引鍵/值組,而且 具有有效的語法

    az aksarc nodepool update --resource-group myResourceGroup --cluster-name myAKSCluster --name labelnp --labels dept=ACCT costcenter=6000 --no-wait
    
  2. 使用 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 檔