V1 API概述

注意:当前V1配置被认为是历史遗留的。它将在未来Envoy的版本中被弃用,并最终完全删除。如果您是Envoy的新手,强烈建议从V2配置API开始。

Envoy配置格式以JSON编写,并针对JSON配置进行校验。配置模式可以在source/common/json/config_schemas.cc中找到。服务器的主要配置包含在监听器和集群管理器部分。其他配置项指定其他配置。

支持YAML提供便利的手写配置。如果配置文件路径以.yaml结尾,Envoy在内部将YAML转换为JSON。在剩下的配置文档中,我们只提供JSON的配置描述。Envoy期望明确一下YAML标量,如一个集群名称(应该是一个字符串)被置为真,它应该在YAML配置中被写为“true”。同样也适用于整数值和浮点值(例如1、1.0和“1.0”)。

  1. {
  2. "listeners": [],
  3. "lds": "{...}",
  4. "admin": "{...}",
  5. "cluster_manager": "{...}",
  6. "flags_path": "...",
  7. "statsd_udp_ip_address": "...",
  8. "statsd_tcp_cluster_name": "...",
  9. "stats_flush_interval_ms": "...",
  10. "watchdog_miss_timeout_ms": "...",
  11. "watchdog_megamiss_timeout_ms": "...",
  12. "watchdog_kill_timeout_ms": "...",
  13. "watchdog_multikill_timeout_ms": "...",
  14. "tracing": "{...}",
  15. "rate_limit_service": "{...}",
  16. "runtime": "{...}",
  17. }

listeners(必选,数组)
需要由服务实例化的监听器数组。一个Envoy进程可以包含任意数量的监听器。

lds(可选,对象)
监听发现服务(LDS)的配置。如果未指定,则只加载静态监听器。

admin(必选,对象)
本地管理HTTP服务器的配置。

cluster_manager(必选,对象)
服务内所拥有的所有上游群集的群集管理器配置。

flags_path(可选,字符串)
启动在文件系统路径下搜索文件的标志。

statsd_udp_ip_address(可选,字符串)
符合statsd正在运行的UDP监听地址。如果指定了,则统计数据将会刷新到这个地址上。IPv4地址格式host:port(例如:127.0.0.1:855)。IPv6地址的格式[host]:port(例如[::1]:855)。

statsd_tcp_cluster_name(可选,字符串)
符合TCP的statsd集群管理集群的名称。如果指定,Envoy将连接到此群集以刷新统计信息。

stats_flush_interval_ms(可选,整数)
配置刷新统计信息时间(以毫秒为单位)。出于性能方面的原因,Envoy锁定计数器,并且只是周期性地刷新计数器和计量器。如果未指定,则默认值为5000毫秒(5秒)。

watchdog_miss_timeout_ms(可选,整数)
Envoy统计“server.watchdog_miss”统计信息中的线程无响应的时间(以毫秒为单位)。如果没有指定,默认是200ms。

watchdog_megamiss_timeout_ms(可选,整数)
Envoy统计“server.watchdog_mega_miss”统计信息中的线程无响应的时间(以毫秒为单位)。如果未指定,则默认值为1000毫秒。

watchdog_kill_timeout_ms(可选,整数)
监视一个线程在这个毫秒内没有响应,假定因BUG导致导致kill整个Envoy进程。设置为0表示禁用kill行为。如果未指定,则默认值为0(禁用)。

watchdog_multikill_timeout_ms(可选,整数)
如果至少有两个监视的线程至少在这个毫秒内没有响应,假定因一个真正的死锁导致kill整个Envoy进程。设置为0表示禁用kill行为。如果未指定,则默认值为0(禁用)。

tracing(可选,对象)
外部跟踪提供程序的配置。如果没有指定,则不会执行跟踪。

rate_limit_service(可选,对象)
配置外部限速服务提供商。如果没有指定,任何调用速率限制服务将立即返回成功。

runtime(可选,对象)
运行时配置提供程序的配置。如果未指定,将使用“null”提供程序,这将导致使用所有默认值。

返回