為 GKE 選擇多叢集負載平衡 API


本頁面可協助您選擇最適合的 API,部署負載平衡器,在 Google Kubernetes Engine (GKE) 叢集機群中分配流量。

您可以透過下列方式,將負載平衡器附加至 GKE 叢集機群:

  1. 使用多叢集 Ingress API,例如 Multi Cluster IngressMultiClusterService 資源。

  2. 使用 Gateway API (GatewayClassGatewayHTTPRoutePolicyServiceExportServiceImport 資源)。

  3. 使用 Google Cloud 控制台、gcloud CLI、API、Terraform、Config Connector 設定應用程式負載平衡器,並將獨立 NEG 附加至使用者管理的後端服務。

下表列出將負載平衡器附加至 GKE 叢集機群的不同方式。「負載平衡器功能比較」頁面中列出的任何功能,如果未出現在下表中,都應能搭配使用具備獨立 NEG 的使用者管理負載平衡器,而不必依賴 Kubernetes 原生 API 進行負載平衡。

解決方法 多叢集 Ingress 多叢集閘道 使用者管理的負載平衡器,搭配獨立 NEG
GKE 平台支援
產品上市階段 GA GA GA
叢集模式 標準 / Autopilot 標準 / Autopilot 標準 / Autopilot
GKE 版本 1.18 以上版本 Standard 叢集須為 GKE 1.24 以上版本,Autopilot 叢集須為 GKE 1.26 以上版本 1.18 以上版本
架構和元件
Google 代管的 Kubernetes 控制器
控制器 GKE 多叢集 Ingress 控制器 GKE Gateway 控制器 -
控制器位置 叢集外

(Google Cloud 基礎架構)

叢集外

(Google Cloud 基礎架構)

-
API Kubernetes 原生 API Kubernetes 原生 API Google Cloud API (gcloud CLI)
API 資源 MultiClusterIngress、MultiClusterService GatewayClass、Gateway、HTTPRoute、*Policy -
API 推出階段 GA (v1) GA (v1) -
在 GKE 上啟用 API Autopilot / 標準叢集設定 預設為 Autopilot

Standard 叢集設定

-
支援多叢集服務
必須使用多叢集服務 (MCS)
MCS API 版本 networking.gke.io/v1 net.gke.io/v1 -
資源類型 MultiClusterService ServiceExport -
授權 專屬文件 開放原始碼 -
Cloud Networking 資源生命週期管理 (共用虛擬私有雲除外)
自動管理前端 IP 位址
自動管理 Cloud Load Balancer
  • 轉送規則
  • 目標 Proxy
  • 網址對應
  • 後端服務
  • 健康狀態檢查
自動管理網路端點群組 (NEG)

(僅限區域性 NEG)

(僅限區域性 NEG)

(僅限區域 NEG,Kubernetes Service 必須有註解)

Cloud NGFW 管理

(僅限虛擬私有雲防火牆規則受管理規則)

(僅限虛擬私有雲防火牆規則受管理規則)

共用虛擬私有雲支援
主專案中的叢集和機群 (中樞)
位於同一服務專案的叢集和機群 (Hub)

(在主專案中具備防火牆規則權限)

(在主專案中具備防火牆規則權限)

不同專案中的叢集和機群 (中樞)

( 跨專案參照服務)

負載平衡器支援
應用程式負載平衡器
傳統版
全域外部
區域型外部
區域型內部
跨區域內部
Proxy 網路負載平衡器
傳統版
全域外部
區域型外部
內部 (一律為區域型)
直通式網路負載平衡器
外部 (一律為區域型)
內部 (一律為區域型)
支援用戶端到負載平衡器的通訊協定
HTTP、HTTPS、HTTP/2
WebSocket
HTTP/3 (以 IETF QUIC 為基礎)
安全資料傳輸層 (SSL) (傳輸層安全標準 (TLS)) 或 TCP
支援負載平衡器後端
Pod (區域性 NEG)
虛擬機器 (包括 GKE 節點)

(不建議使用)

其他後端:
  • Cloud Storage
  • 公開外部端點 (網際網路 NEG)
  • 私有外部端點 (混合式 NEG)
  • Private Service Connect (PSC NEG)
  • Cloud Run (無伺服器 NEG)
負載平衡器至後端通訊協定支援
HTTP、HTTPS、HTTP/2 (擇一)
WebSocket
安全資料傳輸層 (SSL)/傳輸層安全標準 (TLS) 或 TCP (擇一)
IP 位址和通訊協定
動態指派 IP 位址
指派靜態 IP 位址
多個通訊埠 (HTTP、HTTPS) 使用相同 IP 位址
IPv6

(負載平衡器到後端的流量仍為 IPv4)

(負載平衡器到後端的流量仍為 IPv4)

(負載平衡器到後端的流量仍為 IPv4)

路徑和流量管理
全域存取權
跨專案負載平衡
主機/路徑轉送

(前置比對、完全比對)

(前置比對、完全比對)

依據標頭的轉送

(完全比對)

路徑重新導向
網址重新編寫
流量拆分
流量鏡像
流量切換
根據流量自動調度資源
自訂要求標頭
自訂回應標頭
跨命名空間路由
前端安全性
SSL 政策
HTTP 至 HTTPS 的重新導向
支援多個傳輸層安全標準 (TLS) 憑證
以 Kubernetes Secret 為基礎的憑證
自行管理的 SSL 憑證
Google 代管的 SSL 憑證
Certificate Manager 支援
後端服務屬性
連線排除逾時
工作階段相依性
HTTP 存取記錄設定
後端服務逾時
自訂負載平衡器健康狀態檢查設定

(BackendConfig)

(HealthCheckPolicy)

(gcloud CLI / Google Cloud 控制台 / Terraform)

後端服務的 TLS
自訂預設後端
Cloud CDN

(並非所有功能)

(所有功能)

Identity-Aware Proxy (IAP)
Google Cloud Armor 安全性政策

後續步驟