このページでは、GKE API を使用して、Google Kubernetes Engine(GKE)Standard クラスタで既存のノードプールの Kubernetes ノードラベルと Node Taints を更新する方法について説明します。Kubernetes ノードラベルは、GKE クラスタとノードラベルとは異なります。
ノードの taint とラベルは、Kubernetes ノードのオブジェクト メタデータにあります。Kubernetes ラベルは、特定のノードで Pod をスケジュールするために使用されます。一方、taint を使用すると、Pod を特定のノードから分離できます。詳細については、GKE でワークロードの分離を構成するをご覧ください。
GKE API を使用すると、ノードプールを再作成したり、実行中のワークロードを中断したりすることなく、既存の GKE ノードプールの Kubernetes ノードラベルと Node Taints に対する更新を適用できます。更新されたノードプールの構成は GKE に保持されるため、将来のノードプールのアップグレードとノードプールにプロビジョニングされる新しいノードで新しい構成が使用されるようになります。
変更が GKE クラスタのオペレーションに与える影響については、クラスタのライフサイクルの変更を管理して中断を最小限に抑えるをご覧ください。特定の変更の詳細については、GKE クラスタの変更の種類セクションをご覧ください。
ノードラベルの更新
ノードプールのノードラベルを更新するには、次のコマンドを使用します。
gcloud container node-pools update NODEPOOL_NAME \
--node-labels=[NODE_LABEL,...] \
--cluster=CLUSTER_NAME
--location=CONTROL_PLANE_LOCATION
[GCLOUD_WIDE_FLAG …]
次のように置き換えます。
NODEPOOL_NAME
: 更新するノードプールの名前。[NODE_LABEL,...]
: 目的の新しいノードラベル(たとえば、label1=value1,label2=value2
)。CLUSTER_NAME
: クラスタの名前。CONTROL_PLANE_LOCATION
: クラスタのコントロール プレーンの Compute Engine のロケーション。リージョン クラスタの場合はリージョン、ゾーンクラスタの場合はゾーンを指定します。
Node Taints の更新
ノードプールの Node Taints を更新するには、次のコマンドを使用します。
gcloud container node-pools update NODEPOOL_NAME \
--node-taints=[NODE_TAINT,...] \
--cluster=CLUSTER_NAME
--location=CONTROL_PLANE_LOCATION
[GCLOUD_WIDE_FLAG …]
次のように置き換えます。
NODEPOOL_NAME
: 更新するノードプールの名前。[NODE_TAINT,...]
: 目的の新しい Node Taints(たとえば、key1=val1:NoSchedule,key2=val2:PreferNoSchedule
)。CLUSTER_NAME
: クラスタの名前。CONTROL_PLANE_LOCATION
: クラスタのコントロール プレーンの Compute Engine のロケーション。リージョン クラスタの場合はリージョン、ゾーンクラスタの場合はゾーンを指定します。