使用自動 IP 位址管理功能


本頁說明如何在 Google Kubernetes Engine (GKE) 叢集上啟用自動 IP 位址管理 (自動 IPAM)。啟用自動 IPAM 後,GKE 會自動在叢集中建立子網路,並管理節點和 Pod 的 IP 位址。對於 Service,GKE 預設會從 GKE 管理的範圍指派 IP 位址。

本頁內容適用於負責佈建及設定雲端資源、部署應用程式和服務,以及管理雲端部署作業網路的作業人員、雲端架構師、開發人員和網路工程師。如要進一步瞭解內容中提及的常見角色和範例工作,請參閱「常見的 GKE Enterprise 使用者角色和工作」。 Google Cloud

總覽

傳統上,建立 GKE 叢集時,您會手動設定子網路,其中包含節點 IP 位址的主要範圍,以及 Pod 和 Service IP 位址的兩個次要範圍。手動設定 Pod IP 位址範圍時,可能難以判斷要設定的 IP 位址範圍大小。如果分配的 IP 位址不足,可能會限制叢集擴充及建立新 Pod。反之,如果 IP 位址分配過多,可能會浪費其他資源可用的寶貴 IP 位址空間。

GKE 自動 IPAM 可解決這個問題,並具有下列優點:

降低複雜度:自動 IPAM 會自動建立子網路,並為該子網路指派適當的 IP 位址範圍,藉此降低 IP 位址分配的複雜度。

自動調整 IP 位址範圍:啟用自動 IPAM 時,GKE 會先為節點和 Pod 設定較小的 IP 位址範圍。隨著叢集擴大或縮小,GKE 會使用多個不重疊的 IP 位址範圍,並在叢集層級定義這些範圍,動態新增或移除額外的 IP 位址範圍。這種自動化方法可在整個 GKE 叢集生命週期中,將 IP 位址健康狀態和效率最佳化。

簡化 IP 位址管理:自動 IPAM 可減少您為 GKE 叢集仔細規劃及管理 IP 位址分配作業的需求。

當現有節點集區擴大或縮減時,自動 IPAM 不會新增或移除已指派給現有節點集區的 IP 位址範圍。在叢集中建立節點集區時,如果 IP 位址空間不足,自動 IPAM 會建立額外的子網路和 IP 位址範圍。

建立新叢集時,您可以啟用自動 IPAM。您也可以為現有叢集啟用或停用自動 IPAM。

事前準備

開始之前,請確認您已完成下列工作:

  • 啟用 Google Kubernetes Engine API。
  • 啟用 Google Kubernetes Engine API
  • 如要使用 Google Cloud CLI 執行這項工作,請安裝初始化 gcloud CLI。如果您先前已安裝 gcloud CLI,請執行 gcloud components update,取得最新版本。

規定與限制

在 GKE 叢集中使用自動 IPAM 時,請瞭解下列限制:

  • 叢集必須是虛擬私有雲原生叢集。 使用路由的叢集不支援自動 IPAM。
  • 您無法在具有共用虛擬私有雲端的叢集中使用自動 IP 位址管理功能。
  • 您可以在具備多重網路功能的叢集中啟用自動 IPAM。 不過,如果您使用多個網路介面建立新的節點集區,自動 IPAM 就無法運作。如要使用自動 IPAM,必須停用節點集區中的多重網路功能。
  • 如果叢集採用 IPv4/IPv6 雙重堆疊網路,自動 IPAM 只會分配及管理叢集中的 IPv4 位址。
  • 啟用自動 IPAM 後,任何節點集區 (包括預設節點集區) 的預設節點大小上限為 252 個節點,CIDR 區塊為 /24。
  • 根據預設,在具有自動 IPAM 的叢集中,GKE 每個節點最多可有 48 個 Pod。
  • 在採用自動 IPAM 的叢集中,您無法超額佈建 Pod CIDR 範圍。

建立具有自動 IPAM 的叢集

建立新叢集並啟用自動 IPAM 時,您可以讓 GKE 建立新的子網路,也可以指定要使用的現有子網路。如果指定現有子網路,請確認叢集有足夠的次要 IP 位址範圍。建立叢集並啟用自動 IPAM 時,您不必指定任何 IP 位址範圍。

  1. 如要建立啟用自動 IPAM 的叢集,並讓 GKE 建立新的子網路,請執行下列指令:

    gcloud container clusters create CLUSTER_NAME \
        --enable-auto-ipam \
    

    CLUSTER_NAME 替換為叢集名稱。

    GKE 會執行下列操作:

    • 為叢集建立新的子網路。
    • 為叢集設定初始 IP 位址分配,並自動將新的節點和 Pod IP 位址分配給新的節點集區。
    • 監控子網路和次要 IP 位址範圍的使用情形。
  2. 如要建立啟用自動 IPAM 功能的叢集,並指定自己的子網路,請按照「在現有子網路中建立叢集」一節中的操作說明,在指令中使用 --enable-auto-ipam 旗標。例如:

    gcloud container clusters create CLUSTER_NAME \
       --enable-auto-ipam \
       --subnetwork=SUBNET_NAME \
    

    替換下列值:

    • CLUSTER_NAME:叢集名稱。
    • SUBNET_NAME:現有子網路的名稱。子網路的主要 IP 位址範圍用於節點。子網路必須與叢集使用的區域位於相同地區。

更新現有叢集

您可以在現有叢集上啟用或停用自動 IPAM。

啟用自動 IPAM

如要在現有叢集上啟用自動 IPAM,請執行下列指令:

gcloud container clusters update CLUSTER_NAME \
    --enable-auto-ipam

執行這項指令後,如果您建立新節點集區時沒有足夠的 IP 位址空間,GKE 會在叢集中建立及管理新的 IP 位址範圍。

停用 IP 位址自動管理功能

如要停用現有叢集的自動 IPAM,請執行下列指令:

gcloud container clusters update CLUSTER_NAME \
    --disable-auto-ipam

CLUSTER_NAME 替換為叢集名稱。

在叢集中停用自動 IPAM 後:

  • 系統會保留透過自動 IPAM 建立的任何子網路和次要 IP 位址範圍。刪除 GKE 叢集時,這些資源也會一併刪除。
  • 建立新的節點集區時,GKE 會自動指派預設子網路和相關聯的次要 IP 位址範圍。

後續步驟