GKE Ambient Networking 为具有第 4 层功能的服务网格提供简化的无边车部署模型。通过将代理功能移至集成到 GKE Dataplane V2 (DPv2) 的节点级组件,Ambient Networking 可减少资源开销,消除因代理更新而导致的工作负载重启,并简化网格生命周期管理。
功能
GKE Ambient Networking 预览版支持单集群第 4 层网格功能:
- 双向 TLS (mTLS):强制执行加密传输和身份验证。
- 服务发现:自动发现服务并在工作负载之间路由连接。
- 第 4 层流量管理:对 TCP 流量进行负载均衡和路由。
- 第 4 层遥测:向 Cloud Observability 发送网络流量、连接和错误指标。如需详细了解如何直观呈现和分析这些指标,请参阅网络服务监控概览。
Ambient Networking 的优势
与基于边车的服务网格架构相比,Ambient Networking 具有多项关键运营和资源优势:
简化的生命周期管理:消除了边车代理与应用容器之间的命运共同体模型。您可以在节点级别应用代理更新、安全补丁和升级,而无需重启工作负载 Pod 或导致应用停机。
减少资源消耗:将代理整合到共享的节点级实例中,与边车模型相比,可将 CPU 和内存开销降低多达 90%。
消除边车风险:解决常见的边车问题,例如容器代理绕过漏洞、粘性连接中断和不可靠的连接终止传播。
原生 Google Cloud 平台集成:与 GKE Dataplane V2 (DPv2)、Managed Workload Identity、Certificate Authority Service (CAS) 和 Google Cloud Observability 原生集成。
互操作性和范围
在 Ambient Networking 预览期间,请注意以下范围和互操作性限制:
- Gateway API 要求:Ambient Networking 需要 Gateway API。不支持 Istio API。
- 工作负载互操作性:已注册到 Ambient Networking 的工作负载无法与注入了 Sidecar 的工作负载(在 GKE、Compute Engine 或 Cloud Run 上)或无代理 gRPC 工作负载进行互操作。
架构和组件
Ambient Networking 直接集成到每个节点上的 GKE Dataplane V2 (DPv2) 中,而不是将 Envoy Sidecar 注入工作负载 Pod。
现有控制平面组件
Ambient Networking 依赖于控制平面组件来分发政策、转换配置和颁发证书:
- Traffic Director:提供用于政策分发和路由配置的 xDS 控制平面。
- GKE Gateway Controller:将 Kubernetes 自定义资源转换为 Traffic Director 配置。
- Certificate Authority Service (CAS):使用托管式 Workload Identity 为工作负载颁发 X.509 身份证书。
- GKE 集群控制平面:批准证书签名请求 (CSR) 并将其路由到 CAS。
节点组件
Ambient Networking 会安装以下每个节点组件,以直接在每个集群节点上拦截和代理工作负载流量:
GKE ambient NRI 插件:节点资源接口 (NRI) 插件,用于配置底层网络,以拦截 Pod 流量并将其重定向到代理。
GKE 环境代理:节点级代理,用于管理监听套接字、从 Traffic Director 接收 xDS 规则、从 GKE 控制平面按需提取 X.509 身份证书,以及代理第 4 层流量。
节点级环境数据平面组件作为 DaemonSet 在 gke-managed-ambient 命名空间中运行,并会随 GKE 控制平面一起自动进行版本控制、修补和升级。
目标规模和限制
在预览版期间,Ambient Networking 具有以下范围和互操作性限制:
| 资源指标 | GKE DPv2(具有环境模式) | 标准 GKE DPv2(不含 Ambient) |
|---|---|---|
| 每个集群的节点数 | 500 | 7500 |
| 每个集群的 Service 数量 | 300 | 10,000 |
| 每个集群的 Pod 数 | 5000 | 200000 |
| 每个节点的 Pod 数量上限 | 256 | 256 |
如需了解一般 GKE 集群配额,请参阅集群限制和 GKE GKE Dataplane V2 规范。
价格
请查看以下有关 Ambient Networking 的价格和运营资源费用的详细信息:
- 对于任何带有 ambient 标签
networking.gke.io/dataplane-mode=ambient的命名空间中的所有 Pod,系统将按每小时 0.004 美元(每分钟 0.00006667 美元或每月大约 2.90 美元)的价格计费。在预览版期间,系统不会强制执行结算。 - 需支付 Cloud Observability(Cloud Monitoring/Cloud Logging)和 Certificate Authority Service 的标准使用费。
了解 Gateway API 资源
使用 Ambient Networking 时,您在集群上管理的 Kubernetes Gateway API 自定义资源会自动转换为一组代管式Google Cloud API 资源。
| 功能 | 托管式 Google Cloud API 资源 | 范围 | 基数 |
|---|---|---|---|
| 网格 | Mesh |
区域 | 每个集群 1 个 |
| 服务路由 | TCPRoute |
区域 | 每个集群 1 个,加上 GCPClientTLSPolicy 定向到的每个 Service 1 个 |
| 服务表示 | BackendService |
区域 | 每个集群 1 个 |
| 客户端身份验证 | ClientTlsPolicy |
区域 | 每个集群 1 个 |
| 服务器身份验证 | ServerTlsPolicy |
区域 | 每个集群 3 个 |
| 服务器身份验证 | EndpointPolicy |
区域 | 每个GCPServerTLSPolicy 1 个,加上其portOverrides中每个不同 mTLS 模式 1 个 |
| 授权 | AuthzPolicy |
区域 | 每个 GCPAuthzPolicy 中每个 Pod targetRef 1 个,enforcementLevel: L4 |
| 出站流量路由 | EgressRouting |
区域 | 每个具有 GCPEgressPolicy 的命名空间 1 个 |