Traffic Director 的限制和局限性

限制

每个项目的所有现有转发规则、后端服务以及其他负载平衡限制和配额都适用于 Traffic Director 部署。

限制

  • Traffic Director 仅支持 Google Cloud API。Traffic Director 不支持 Istio API。
  • 以下请求协议可配置 Traffic Director:HTTP(HTTP/1.1 或 HTTP/2)、TCP、gRPC。
  • 使用目标 TCP 代理资源配置 TCP 请求协议时,无法使用高级流量管理功能。只有在您配置数据层面来处理 HTTP 或 gRPC 请求后,才能使用高级流量管理。
  • Traffic Director 支持共享 VPC。请注意以下事项:
    • 转发规则及其关联的目标代理、网址映射、后端服务和后端必须位于单个项目中,该项目可以是宿主项目或服务项目。如果您有多个服务项目,则每个服务项目都可以有自己的一组资源。
    • 默认情况下,只要 Envoy 代理在其引导/sidecar.env 文件中指定了共享 VPC 网络,系统就会将引用共享 VPC 网络的转发规则通告给宿主项目和连接到宿主项目的服务项目中的所有 Envoy 代理。您可以使用配置过滤定制此行为。
    • 项目的服务帐号必须至少具有一个转发规则,且负载平衡方案 INTERNAL_SELF_MANAGED 与共享 VPC 网络关联,才能用于访问 Traffic Director。
  • Traffic Director 不支持 VPC 网络对等互连
  • Traffic Director 无法用于在 Knative 或 Google Cloud 无服务器计算中运行的服务。
  • 本文档讨论了 Envoy 代理,但您可以将任何开放式标准 API (xDS) 代理与 Traffic Director 搭配使用。不过请注意,Google 仅使用 Envoy 代理对 Traffic Director 进行了测试。
  • 1.9.1 或更高版本的 Envoy 才能与 Traffic Director 配合使用。
  • 1.12.0 之前的 Envoy 版本不支持正则表达式。要使用正则表达式,您必须使用 1.12.0 或更高版本。
  • 我们强烈建议您使用最新的 Envoy 版本,以确保所有已知的安全漏洞都得到缓解。
  • 如需了解 Envoy 安全建议,请阅读 Envoy 安全建议
  • Google Cloud Console 不支持混合连接网络端点组。如需创建或删除混合连接 NEG,您必须使用 gcloud 命令行工具。
  • 由于您的数据层面处理运行状况检查,因此您无法使用 Google Cloud Console、API 或 gcloud 检索运行状况检查状态。
  • 检查 iptables 并确保其设置正确。如需详细了解如何配置 iptables,请参阅 Envoy 关于配置 HTTP 过滤的说明。
    • 如果您使用 Google Cloud Console 创建虚拟机实例,则在重启之前,不会安装部分 ipv6 相关模块。这会导致 iptables.sh 因缺少依赖项而失败。在这种情况下,请重启虚拟机并重新运行 run.sh 脚本。使用 gcloud 命令行工具创建的 Compute Engine 虚拟机应该不会出现此问题。

高级流量管理的局限性

  • 如果 BackendService.sessionAffinity 的值不是 NONE,且 BackendService.localityLbPolicy 设置为 MAGLEVRING_HASH 以外的其他负载平衡政策,则会话亲和性设置不会生效。
  • gcloud import 命令不会删除后端服务和网址映射等资源的顶级字段。例如,如果后端服务在创建时指定了 circuitBreakers 设置,您可以通过后续 gcloud import 命令更新这些设置,但无法从后端服务中删除这些设置。在未指定 circuitBreakers 设置的情况下,您可以删除并重新创建资源本身。
  • 无法正常导入转发规则。无法重新导入已导出的 YAML 文件。解决方法是导出配置文件,进行更改,删除转发规则,然后导入配置文件。