Azure Arc で有効になっている AKS でクラスター ラベルを使用する
適用対象: Azure Local バージョン 23H2
複数のノード プールがある場合は、ノード プールの作成時にラベルを追加できます。 Kubernetes ラベルによって、ノードのスケジュール ルールが処理されます。
この記事では、Arc で有効になっている AKS 上の Kubernetes クラスターでラベルを使用する方法について説明します。
ラベルを使用して Kubernetes クラスターを作成する
az aksarc create
コマンドを使用して、ラベルを含む Kubernetes クラスターを作成し、--node-labels
パラメーターを指定してラベルを設定します。 ラベルはキーと値のペアで、 valid 構文を持つ必要があります。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
パラメーターのラベルを指定します。 ラベルはキーと値のペアで、 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" }, ... }, ... ]
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 の予約済みプレフィックスは、どのノードにも使用できません。
次のステップ
Kubernetes ラベルの詳細については、 Kubernetes のドキュメントを参照してください。