次の方法で共有


Azure Arc で有効になっている AKS でクラスター ラベルを使用する

適用対象: Azure Local バージョン 23H2

複数のノード プールがある場合は、ノード プールの作成時にラベルを追加できます。 Kubernetes ラベルによって、ノードのスケジュール ルールが処理されます。

この記事では、Arc で有効になっている AKS 上の Kubernetes クラスターでラベルを使用する方法について説明します。

ラベルを使用して Kubernetes クラスターを作成する

  1. az aksarc create コマンドを使用して、ラベルを含む Kubernetes クラスターを作成し、--node-labels パラメーターを指定してラベルを設定します。 ラベルはキーと値のペアで、 valid 構文を持つ必要があります

    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 パラメーターのラベルを指定します。 ラベルはキーと値のペアで、 valid 構文を持つ必要があります

    次の例では、ラベル 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 コマンドからの次の出力例は、指定したnodeLabelsを使用してノードを作成labelnpノード プールを示しています。

    [
      {
        ...
        "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 のドキュメントを参照してください