Ambient Networking 概览

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 个

后续步骤