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 コマンドを使用してラベルを使用するノード プールを作成し、--name パラメーターの名前と --labels パラメーターのラベルを指定します。 ラベルはキーと値のペアであり、 有効な構文を持っている必要があります。

    次の例では、 という名前 labelnp のノード プールをラベル dept=HRで作成します。

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