目录

1.5.1 命令行选项

优质
小牛编辑
134浏览
2023-12-01

Envoy由JSON配置文件以及一组命令行选项驱动。以下是Envoy支持的命令行选项。

  • -c \, --config-path \
    (必选)指向v1或v2 JSON/YAML/proto3配置文件)的路径。若设置-v2-config-only选项,则将被解析为一个v2引导配置文件,如果是v1 JSON配置文件,则返回失败。对于v2配置文件,有效的扩展名是.json.yaml.pb.pb_text,分别表示JSON,YAML,二进制proto3和文本proto3格式。

  • --v2-config-only
    (可选)该标志表示配置文件是否仅为v2引导配置文件。如果为false(默认值),那么当v2引导配置解析失败时,将尝试解析为v1 JSON配置文件。

  • --mode \
    (可选)Envoy的其中一种操作模式:

    serve:(默认)验证JSON配置,然后正常提供流量。
    validate:验证JSON配置,然后退出,打印“OK”消息(在这种情况下退出代码为0)或者因配置文件的任何错误(退出代码为1)。不会产生网络流量,并且不会执行热重启,所以不会影响其他任何进程。

  • --admin-address-path \
    (可选)将输出管理员地址和端口的文件路径。

  • --local-address-ip-version \
    (可选)用于填充服务器本地IP地址的IP地址版本。此参数影响各种标题,包括附加到X-Forwarded-For(XFF)头部的内容。选项是v4v6。默认是v4

  • --base-id \
    (可选)分配共享内存区域时使用的基本ID。Envoy在热启动期间使用共享内存区域。大多数用户不需要设置这个选项。但是,如果Envoy需要在同一台计算机上多次运行,则每个运行的Envoy都需要一个唯一的基本ID,以便共享内存区域不会发生冲突。

  • --concurrency \
    (可选)要运行的工作线程数。如果未指定,则默认为机器上的硬线程数。

  • -l \, --log-level \
    (可选)日志级别。非开发者通常不应该设置这个选项。有关可用的日志级别和默认值,请参阅帮助文档

  • --log-path \
    (可选)日志输出的文件路径。当SIGUSR1被处理时,文件会被重新打开。如果没有设置,记录到stderr

  • --restart-epoch \
    (可选)热重启期间。(Envoy重新启动的次数,而不是重新开始)。第一次启动时默认为0。此选项告诉Envoy是否尝试创建热重启所需的共享内存区域,或者是否打开现有的共享内存区域。每次热重启时都应该增加这个值。通常在大多数情况下,应该设置此RESTART_EPOCH环境变量。

  • --hot-restart-version
    (可选)为当前的二进制输出一个热重启兼容的版本。这可以与GET /hot_restart_version管理端口的输出相匹配,以确定新的二进制文件和正在运行的二进制文件是否热重启兼容。

  • --service-cluster \
    (可选)定义Envoy运行的本地服务群集名称。尽管是可选的,但是如果使用以下任何特性,应该设置:statsd,健康检查集群验证,运行时配置目录覆盖,添加用户代理,HTTP全局速率限制,CDS和HTTP跟踪。

  • --service-node \
    (可选)定义Envoy运行的本地服务节点名称。虽然是可选的,但是如果使用以下任何功能,应该设置它们:statsd,CDS和HTTP跟踪。

  • --service-zone \
    (可选)定义Envoy运行的本地服务区域。尽管是可选的,但是如果使用路由发现服务并且发现服务暴露区域信息,则应该设置它。

  • --file-flush-interval-msec \
    (可选)文件刷新间隔,以毫秒为单位。默认为10秒。在创建文件时使用此设置来确定缓冲区刷新到文件之间的持续时间。缓冲区满或每隔一段时间刷新一次(以先到者为准)。为了获得更多(或更少)的即时刷新,调整此设置对跟踪访问日志非常有用。

  • --drain-time-s \
    (可选)Envoy在热重启期间将耗尽连接的时间(秒)。请参阅热重启概述了解更多信息。默认为600秒(10分钟)。通常,逐出时间应小于通过--parent-shutdown-time-s选项设置的父进程关闭时间。如何配置这两个设置取决于具体的部署。在边缘情况下,可能需要耗费很长时间。在服务场景中,可能使逐出和关闭时间缩短得多(例如,60s/90s)。

  • --parent-shutdown-time-s \
    (可选)Envoy在热重启期间关闭父进程之前等待的时间(秒)。请参阅热启动概述了解更多信息。默认为900秒(15分钟)。

  • --max-obj-name-len \
    (可选)cluster/route_config/listener中名称字段的最大长度(以字节为单位)。此选项通常用于群集名称自动生成的场景,通常超过会60个字符的内部限制。默认为60。
    注意:此设置会影响--hot-restart-version的输出。如果您开始使用此选项,并设置为非默认值,则应该使用相同的值配置到热重启的新进程。

  • --max-stats \
    (可选)热重启之间可以共享的最大统计数量。此设置会影响--hot-restart-version的输出; 必须使用相同的值来配置热重启进程。默认为16384。

返回

  • 上一级