更新現有節點集區的節點標籤和 taint


本頁面說明如何動態更新 Google Kubernetes Engine (GKE) Standard 叢集中現有節點集區的節點標籤和節點汙點。

您也可以在 GKE Autopilot 或 Standard 叢集中,動態套用及更新網路標記。如需操作說明,請參閱使用網路標記將防火牆規則套用至節點

總覽

節點 taint標籤位於 Kubernetes 節點的物件中繼資料中。標籤用於在特定節點上排程 Pod,而 taint 則用於引導 Pod 避開這些節點。

使用 GKE API,您可以在現有 GKE 節點集區中套用節點標籤和節點 taint 的更新,不必重新建立節點集區或中斷執行中的工作負載。更新後的節點集區設定會保留在 GKE 中,因此日後節點集區升級和節點集區中的新節點佈建作業,都會使用新的設定。

限制

使用 GKE API 動態更新節點集區設定時,須注意以下限制:

更新節點標籤

如要更新節點集區的節點標籤,請使用下列指令:

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 位置。為地區叢集提供地區,或為區域叢集提供區域。

更新節點 taint

如要更新節點集區的節點汙點,請使用下列指令:

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 位置。為地區叢集提供地區,或為區域叢集提供區域。

後續步驟