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

    次の例では、 というラベル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 のドキュメントを参照してください