檢視次數:
設定檔適用性:等級 1
為節點網路 CIDR 範圍創建別名 IP,以便隨後為 Pod 配置基於 IP 的策略和防火牆。使用別名 IP 的叢集稱為 VPC 原生叢集。
使用別名 IP 有幾個好處:
  • Pod IP 在網路中提前保留,避免與其他計算資源發生衝突。
  • 網路層可以執行防偽檢查,以確保出口流量不會使用任意的來源 IP 發送。
  • 可以將防火牆控制應用於 Pods,而不影響其節點。
  • 別名 IP 允許 Pods 直接存取託管服務,而不需使用 NAT 閘道。
注意
注意
預設情況下,當您建立新叢集時,VPC 原生(使用別名 IP)已啟動。例外情況是使用 gcloud CLI 並未使用 --enable-ip-alias 的叢集,這些叢集是在 GKE 版本 1.21.0-gke.1500(2021 年 9 月)之前建立的

影響

您目前無法將使用路由進行 Pod 路由的現有叢集遷移到使用別名 IP 的叢集。內部服務的叢集 IP 仍然僅能從叢集內部存取。如果您想從 VPC 內部但在叢集外部存取 Kubernetes 服務,請使用內部負載平衡器。

稽核

使用 Google Cloud 主控台:
  1. 前往 Kubernetes Engine,請造訪:Google Cloud Console Kubernetes Engine 頁面
  2. 從群集列表中,點擊所需的群集以打開詳細資訊頁面。
  3. 在「人脈拓展」部分,進行以下操作ure 'VPC-native tr affic routing' 設定為「已啟用」。
使用命令列:
若要檢查現有叢集的別名 IP 是否已啟動,首先定義三個變數:叢集名稱、位置資訊和專案,然後執行以下命令:
gcloud container clusters describe $CLUSTER_NAME --location $LOCATION -- 
project $PROJECT_ID --format json | jq '.ipAllocationPolicy.useIpAliases' { "useIpAliases": true } if VPC-native (using alias IP) is enabled. If VPC-native (using alias IP) is disabled, the above command will return null ({ }).
如果已啟動 VPC 原生(使用別名 IP),則上述命令的輸出應返回以下內容:
 { "useIpAliases": true } 
如果 VPC 原生(使用別名 IP)被禁用,則上述命令將返回 null ({ })。

補救

無法在現有叢集上啟用別名 IP。若要使用別名 IP 建立新叢集,請遵循以下指示。
使用 Google Cloud 主控台:
如果使用標準配置模式:
  1. 前往 Kubernetes Engine,請造訪:Google Cloud Console Kubernetes Engine 頁面
  2. 點擊建立叢集,然後選擇標準配置模式。
  3. 按需求配置您的叢集,然後在導航窗格中點擊叢集下的網路。
  4. 在VPC 原生部分,保持選中啟用 VPC 原生(使用別名 IP)
  5. 點擊建立。
使用命令列
要在新叢集上啟用別名 IP,請執行以下命令:
gcloud container clusters create <cluster_name> --location <location> -- 
enable-ip-alias