本页面可帮助您选择较合适的 API 来部署负载均衡器,以便在一组 Google Kubernetes Engine (GKE) 集群之间分配流量。
您可以通过以下方式将负载均衡器连接到 GKE 集群舰队:
使用多集群 Ingress API,例如多集群 Ingress 和 MultiClusterService 资源。
使用 Gateway API(GatewayClass、Gateway、HTTPRoute、Policy、ServiceExport 和 ServiceImport 资源)。
使用 Google Cloud 控制台、gcloud CLI、API、Terraform、Config Connector 设置应用负载均衡器,并将独立 NEG 附加到用户管理的后端服务。
下表列出了将负载均衡器关联到 GKE 集群舰队的不同方式。负载均衡器功能比较页面中列出的任何未在下表中列出的功能都应适用于具有独立 NEG 的用户管理的负载均衡器,而不是依赖 Kubernetes 原生 API 实现负载均衡。
| 解决方案 | 多集群 Ingress | 多集群 Gateway | 具有独立 NEG 的用户管理的负载均衡器 |
|---|---|---|---|
| GKE 平台支持 | |||
| 产品发布阶段 | GA | GA | GA |
| 集群模式 | Standard / Autopilot | Standard / Autopilot | Standard / Autopilot |
| GKE 版本 | 1.18 及更高版本 | 适用于 Standard 的 GKE 1.24 及更高版本以及适用于 Autopilot 的 1.26 及更高版本 | 1.18 及更高版本 |
| 架构和组件 | |||
| 由 Google 管理的 Kubernetes 控制器 | |||
| 控制器 | GKE 多集群 Ingress 控制器 | GKE Gateway Controller | - |
| 控制器位置 | 集群外
(Google Cloud 基础设施) |
集群外
(Google Cloud基础设施) |
- |
| API | Kubernetes 原生 API | Kubernetes 原生 API | Google Cloud API (gcloud CLI) |
| API 资源 | MultiClusterIngress、MultiClusterService | GatewayClass、Gateway、HTTPRoute、*Policy | - |
| API 发布阶段 | 正式版 (v1) | 正式版 (v1) | - |
| GKE 上的 API 启用情况 | Autopilot / Standard 上的集群设置 | Autopilot 上的默认设置
Standard 上的集群设置 |
- |
| 多集群 Service 支持 | |||
| 需要多集群 Service (MCS) | |||
| MCS API 版本 | networking.gke.io/v1 | net.gke.io/v1 | - |
| 资源类型 | MultiClusterService | ServiceExport | - |
| 许可 | 专有 | 开源 | - |
| Cloud 网络产品资源生命周期管理(不包括共享 VPC) | |||
| 自动化前端 IP 地址管理 | |||
自动化 Cloud 负载均衡器管理
|
|||
| 自动化网络端点组 (NEG) 管理 |
(仅限可用区级 NEG) |
(仅限可用区级 NEG) |
(仅限可用区级 NEG,Kubernetes Service 所需的注解) |
| Cloud NGFW 管理 | |||
| 共享 VPC 支持 | |||
| 宿主项目中的集群和舰队 (Hub) | |||
| 同一服务项目中的集群和舰队 (Hub) |
(在宿主项目中具有防火墙规则权限) |
||
| 不同项目中的集群和舰队 (Hub) |
(使用跨项目 Service 引用) |
||
| 负载均衡器支持 | |||
| 应用负载均衡器 | |||
| 传统版 | |||
| 全球外部 | |||
| 区域外部 | |||
| 区域内部 | |||
| 跨区域内部 | |||
| 代理网络负载均衡器 | |||
| 传统版 | |||
| 全球外部 | |||
| 区域外部 | |||
| 内部(始终为区域级) | |||
| 直通式网络负载均衡器 | |||
| 外部(始终为区域级) | |||
| 内部(始终为区域级) | |||
| 客户端到负载均衡器协议支持 | |||
| HTTP、HTTPS、HTTP/2 | |||
| WebSocket | |||
| HTTP/3(基于 IETF QUIC) | |||
| SSL (TLS) 或 TCP | |||
| 负载均衡器后端支持 | |||
| Pod(可用区级 NEG) | |||
| 虚拟机(包括 GKE 节点) |
(不推荐) |
||
其他后端:
|
|||
| 负载均衡器到后端协议支持 | |||
| HTTP、HTTPS、HTTP/2(其中一种) | |||
| WebSocket | |||
| SSL (TLS) 或 TCP(其中一种) | |||
| IP 地址和协议 | |||
| 动态 IP 地址分配 | |||
| 静态 IP 地址分配 | |||
| 多个端口(HTTP、HTTPS)使用相同的 IP 地址 | |||
| IPv6 |
(负载均衡器到后端的流量仍然是 IPv4) |
(负载均衡器到后端的流量仍然是 IPv4) |
(负载均衡器到后端的流量仍然是 IPv4) |
| 路由和流量管理 | |||
| 全球访问权限 | |||
| 跨项目负载均衡 | |||
| 主机/路径路由 |
(前缀、完全匹配) |
(前缀、完全匹配) |
|
| 基于标头的路由 |
(完全匹配) |
||
| 路径重定向 | |||
| 网址重写 | |||
| 流量分配 | |||
| 流量镜像 | |||
| 流量切换 | |||
| 基于流量的自动扩缩 | |||
| 自定义请求标头 | |||
| 自定义响应标头 | |||
| 跨命名空间路由 | |||
| 前端安全性 | |||
| SSL 政策 | |||
| 从 HTTP 到 HTTPS 的重定向 | |||
| 多个 TLS 证书支持 | |||
| 基于 Kubernetes Secrets 的证书 | |||
| 自行管理的 SSL 证书 | |||
| Google 代管式 SSL 证书 | |||
| Certificate Manager 支持 | |||
| 后端服务属性 | |||
| 连接排空超时 | |||
| 会话亲和性 | |||
| HTTP 访问日志记录配置 | |||
| 后端服务超时 | |||
| 自定义负载均衡器健康检查配置 | |||
| TLS 到后端服务 | |||
| 自定义默认后端 | |||
| Cloud CDN |
(并非所有特性) |
(所有特性) |
|
| Identity-Aware Proxy (IAP) | |||
| Google Cloud Armor 安全政策 | |||