参考配置

源代码分发包里为以下三种 Envoy 的主要部署类型准备了一整套的配置案例模版:

这一套的配置案例模版主要用来展现 Envoy 在复杂部署下的全部能力。并不是所有的功能点都能适用于所有的应用场景。详细文档可查看配置参考

配置生成器

Envoy 的配置开始变得越发复杂。 在 Lyft 我们用 jinja 模版让生产以及管理配置的工作变得轻松一些。源代码分发包里便包含了其中一个版本的配置生成器,这个版本的配置生成器非常接近我们在 Lyft 使用的版本。我们同时为上述的三种场景都准备了相应的范例配置模版。

可以从 repo 的根目录运行以下命令以生成相关的范例配置:

  1. mkdir -p generated/configs
  2. bazel build //configs:example_configs
  3. tar xvf $PWD/bazel-genfiles/configs/example_configs.tar -C generated/configs

上面的命令将生成三个完全可扩展配置,而配置中所使用到的其中某些变量被定义在 configgen.py 里。可以查看 configgen.py 里的注释以学习如何让不同的扩展工作。

关于范例配置,在此分享一些笔记:

  • 一个假定运行在 discovery.yourcompany.net 上的服务发现实例。
  • yourcompany.net 的 DNS 做了许多配置。 可在配置模版中查找基于其实现的各种实例。
  • LightStep 而配置的追踪。 为了禁止或启用 Zipkin http://zipkin.io 追踪,而删除或改变相应的追踪配置
  • 用于演示如何使用全局速率限制服务的示例配置。 可以通过删除速率限制配置以禁用此服务。
  • 为服务间参考配置而设定的路由发现服务,此服务假定运行在 rds.yourcompany.net 上。
  • 为服务间参考配置而设定的集群发现服务,此服务假定运行在 cds.yourcompany.net 上。