参考配置¶
发行版源代码为三种主要的 Envoy 部署类型分别提供了一组示例配置模板:
这套示例配置的目的是为了演示 Envoy 在复杂部署中的全部功能。所有特性并不适用于所有示例。有关完整文档内容请看 参考配置.
配置生成器¶
Envoy 配置会变得相对复杂。在 Lyft 我们使用 jinja 模板使配置变得更加易于创建和管理。发行版源代码包含一个配置生成器的版本,它与我们在 Lyft 中使用的配置生成器近似一致。我们也为上述的三个场景中的每一个都包含了示例配置模板。
生成器脚本: configs/configgen.py
从仓库的根目录运行以下命令生成示例配置:
mkdir -p generated/configs
bazel build //configs:example_configs
tar xvf $PWD/bazel-out/k8-fastbuild/bin/configs/example_configs.tar -C generated/configs
前面的命令会使用在 configgen.py 内部定义的一些变量生成三种完全扩展的配置。关于不同的扩展是如何工作的详细信息,请参考 configgen.py 的内部注释。
关于示例配置的一些注意事项:
假设一个 端点发现服务(EDS) 的实例运行在 discovery.yourcompany.net 上。
假设为 yourcompany.net 设置了 DNS。在配置模板中查找不同的实例。
为 LightStep 配置了跟踪。要禁用此功能请开启 Zipkin 或者 Datadog 跟踪, 相应的请删除或者修改 tracing configuration。
该配置演示了 global rate limiting service。要禁用此功能请删除 rate limit configuration。
为服务到服务的参考配置配置了 路由发现服务(RDS),并假设它运行在 rds.yourcompany.net 上。
为服务到服务的参考配置配置了 集群发现服务(CDS),并假设它运行在 cds.yourcompany.net 上。