为 Traffic Director 配置 Envoy 引导属性

当支持您的服务网格的 Envoy 代理和 gRPC 库初始化时,它们需要连接到 Traffic Director 并成为 Traffic Director 客户端。要建立此连接,客户端需要使用配置信息来引导,例如:

  • 如何查找 Traffic Director (trafficdirector.googleapis.com)
  • 客户端应请求配置的 VPC 网络名称
  • 其他可选信息,例如是否启用日志记录

本文档介绍将 Envoy 与 Traffic Director 结合使用时如何提供引导信息。用于提供引导配置的方法取决于您部署服务的方式:

手动 Envoy 部署必需的引导配置

下表包含所有必需的引导配置属性。

属性 说明
TRAFFICDIRECTOR_NETWORK_NAME 一个字符串。例如:默认值。

请求配置的 Google Cloud VPC 网络名称(这是 Google Cloud API 的转发规则中引用的 VPC 网络名称)。

如果将此值留空,Traffic Director 会尝试选择将请求从 Sidecar 代理发送至 directdirector.googleapis.com 所通过的 VPC 网络的配置。

不建议将此值留空。不保证未来的版本支持空值。

TRAFFICDIRECTOR_GCP_PROJECT_NUMBER 一串数字。例如 123456789 配置了 Traffic Director 资源的 Google Cloud 项目。这是您的项目的数字标识符(例如 111222333444)。

您可以使用 gcloud projects list 命令或查看 Google Cloud Console 的项目信息部分,获取所有项目及其对应项目编号的列表。

如果留空,则系统会尝试提取与服务帐号凭据关联的 GCP 项目的配置。

不建议将此值留空。不保证未来的版本支持空值。

手动 Envoy 部署可选的引导配置

下表包含所有可选的引导配置属性。

属性 说明
TRAFFICDIRECTOR_INTERCEPTION_PORT 0-65535 范围内的整数

拦截侦听器的端口号。发往 Traffic Director 中所配置的服务的流量必须重定向到此端口。

如果将此值留空,则 Traffic Director 不会配置拦截侦听器。如果您的配置依赖于出站流量拦截,则缺少侦听器将破坏流量流动。对于仅须拦截入站流量的中间代理,此字段不是必需的。

TRAFFICDIRECTOR_ACCESS_LOG_PATH 访问日志文件的路径,以字符串表示。例如:“/var/log/sidecar/access.log” 此参数的值用作文件访问日志配置,由 Traffic Director 连同其他参数一起发送给代理。所有传入和传出请求都记录在此文件中。如需了解详情,请参阅 Envoy 代理的文件访问日志文档。
TRAFFICDIRECTOR_ENABLE_TRACING 布尔值,以字符串表示;例如 true 启用 Sidecar 代理以生成分布式跟踪信息。如果设置为 trueEnvoy 跟踪参数 将由 Traffic Director 在 Sidecar 代理中进行编程,并将 generate_request_id 设为“true”。

以下 yaml 格式的示例展示了如何在 Envoy 代理引导配置的节点元数据部分中配置受支持的属性:

node:
  metadata:
    TRAFFICDIRECTOR_INTERCEPTION_PORT: "15001"
    TRAFFICDIRECTOR_NETWORK_NAME: "default"
    TRAFFICDIRECTOR_GCP_PROJECT_NUMBER: "111222333444"
    TRAFFICDIRECTOR_ACCESS_LOG_PATH: "/tmp/sidecar/access.log"
    TRAFFICDIRECTOR_ENABLE_TRACING: "true"