本页面介绍了如何使用 GKE API 更新 Google Kubernetes Engine (GKE) Standard 集群中现有节点池的 Kubernetes 节点标签和节点污点。Kubernetes 节点标签与 GKE 集群和节点标签有所不同。
节点污点和标签位于 Kubernetes 节点的对象元数据中。Kubernetes 标签用于将 Pod 调度到特定节点。相比之下,污点可用于引导 Pod 避开特定节点。如需了解详情,请参阅在 GKE 中配置工作负载隔离。
使用 GKE API,您可以对现有 GKE 节点池的 Kubernetes 节点标签和节点污点应用更新,而无需重新创建节点池和中断正在运行的工作负载。更新后的节点池配置会保留在 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 位置。为区域级集群提供区域,或为可用区级集群提供可用区。
更新节点污点
如需更新节点池的节点污点,请使用以下命令:
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,...]
:所需的新节点污点(例如key1=val1:NoSchedule,key2=val2:PreferNoSchedule
)。CLUSTER_NAME
:集群的名称。CONTROL_PLANE_LOCATION
:集群控制平面的 Compute Engine 位置。为区域级集群提供区域,或为可用区级集群提供可用区。