Azure Arc で有効になっている AKS でクラスター ラベルを使用する
適用対象: Azure Stack HCI バージョン 23H2
複数のノード プールがある場合は、ノード プールの作成時にラベルを追加できます。 Kubernetes ラベルによって、ノードのスケジュール ルールが処理されます。
この記事では、Arc で有効になっている AKS 上の Kubernetes クラスターでラベルを使用する方法について説明します。
ラベルを使用して Kubernetes クラスターを作成する
コマンドを使用して、ラベルを使用して Kubernetes クラスターを
az aksarc create
作成し、 パラメーターを--node-labels
指定してラベルを設定します。 ラベルはキーと値のペアであり、 有効な構文を持っている必要があります。az aksarc create --resource-group myResourceGroup --name myAKSCluster --node-count 2 --nodepool-labels dept=IT
次のコマンドを使用して
kubectl get nodes --show-labels
、ラベルが設定されたことを確認します。kubectl get nodes --show-labels | grep -e "dept=IT"
ラベルを使用するノード プールを作成する
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" }, ... }, ... ]
次のコマンドを使用して
kubectl get nodes --show-labels
ラベルが設定されたことを確認します。kubectl get nodes --show-labels | grep -e "dept=HR"
既存のノード プールのラベルを更新する
az aksarc nodepool update コマンドを使用して、既存のノード プールのラベルを更新します。 既存のノード プールでラベルを更新すると、古いラベルが新しいラベルで上書きされます。 ラベルはキーと値のペアであり、 有効な構文を持っている必要があります。
az aksarc nodepool update --resource-group myResourceGroup --cluster-name myAKSCluster --name labelnp --labels dept=ACCT costcenter=6000 --no-wait
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 のドキュメントを参照してください。