使用 Envoy 的 Cloud Service Mesh 限制

本文档介绍了适用于 Cloud Service Mesh 与 Google Cloud API 的限制,包括高级流量管理限制。不适用于使用 Istio API 的 Cloud Service Mesh。

如需了解限制,请参阅配额和限制

一般限制

Cloud Service Mesh 的限制包括:

  • 包含服务路由 API 的 Cloud Service Mesh 仅支持 Google Cloud API。
  • 您可以使用 Cloud Service Mesh 配置以下请求协议:HTTP(HTTP/1.1 或 HTTP/2)、HTTPS、TCP 和 gRPC。
  • 使用 Envoy 作为数据平面代理时,stream_idle_timeout默认为 5 分钟。无法通过 Cloud Service Mesh 进行此配置。
  • 使用 TCPRoute 资源配置 TCP 请求协议时,您无法使用高级流量管理功能。只有在您配置数据平面来处理 HTTP 或 gRPC 请求后,才能使用高级流量管理。
  • Cloud Service Mesh 支持与服务路由 API 配合使用 VPC 网络对等互连
  • Cloud Service Mesh 不支持服务器优先协议。
  • Cloud Service Mesh 无法与在 KnativeGoogle Cloud 无服务器计算中运行的服务搭配使用。
  • 本文档介绍了 Envoy 代理,但您可以将任何符合开放式标准 API (xDS) 的代理与 Cloud Service Mesh 搭配使用。不过,Google 仅使用 Envoy 代理对 Cloud Service Mesh 进行了测试。
  • 为了确保所有已知的安全漏洞都得到缓解,我们建议您使用最新的 Envoy 版本。如需了解 Envoy 安全建议,请参阅 Envoy 安全建议
  • Google Cloud 控制台不支持混合连接网络端点组 (NEG)。如需创建或删除混合连接 NEG,请使用 Google Cloud CLI。
  • 由于数据平面会处理健康检查,因此您无法使用 Google Cloud 控制台、API 或 gcloud CLI 来检索健康检查状态。
  • 检查 iptables 并确保其设置正确。如需详细了解如何配置 iptables,请参阅关于配置 HTTP 过滤的 Envoy 说明。

    • 如果您使用 Google Cloud 控制台来创建虚拟机实例,则在重启之前,某些与 ipv6 相关的模块不会进行安装和提供使用。因此,iptables.sh 会因缺少依赖项而失败。在这种情况下,请重启虚拟机并重新运行 run.sh 脚本。
    • 如果您使用 gcloud CLI 来创建 Compute Engine 虚拟机,则不会出现此问题。

高级流量管理限制

高级流量管理的限制包括:

  • 如果 BackendService.sessionAffinity 的值不是 NONE,且 BackendService.localityLbPolicy 设置为 MAGLEVRING_HASH 以外的其他负载平衡政策,则会话亲和性设置不会生效。
  • gcloud import 命令不会删除后端服务和网址映射等资源的顶级字段。例如,如果后端服务在创建时指定了 circuitBreakers 设置,您可以使用后续的 gcloud import 命令来更新这些设置。但是,您无法从后端服务中删除这些设置。您可以删除资源本身,然后重新创建不具有 circuitBreakers 设置的资源。

Service Directory 的限制

  • Service Directory 和 Cloud Service Mesh 不保证客户端的网络可达性。
  • 后端服务只能引用以下其中一项:

    • 代管式实例组或非代管式实例组
    • 网络端点组
    • 服务绑定
  • Service Directory 服务只能与满足 load-balancing-scheme=INTERNAL_SELF_MANAGED 的全局后端服务一起使用。

  • 可以删除服务绑定引用的 Service Directory 服务。如果后端服务附加的底层 Service Directory 服务被删除,则使用 Cloud Service Mesh 的应用无法将流量发送到此服务,因此请求会失败。如需了解最佳做法,请参阅可观测性和调试

  • 将 Service Directory 服务绑定到后端服务时,您无法在该后端服务上配置健康检查。

后续步骤

  • 如需了解适用于无代理 gRPC 应用的 Cloud Service Mesh 的限制,请参阅无代理 gRPC 限制