5.7.5. 路由器环境变量
对于本节中列出的所有项目,您可以在路由器部署配置中设置环境变量以更改其配置,或使用 oc set env
命令:
$ oc set env <object_type>/<object_name> KEY1=VALUE1 KEY2=VALUE2
例如:
$ oc set env dc/router ROUTER_SYSLOG_ADDRESS=127.0.0.1 ROUTER_LOG_LEVEL=debug
变量 | 默认 | 描述 |
---|---|---|
| 用于不公开 TLS 服务器证书的路由的默认证书的内容;采用 PEM 格式。 | |
|
包含名为 tls.crt 的文件的目录路径。如果 tls.crt 不是包含私钥的 PEM 文件,则首先会将名为 tls.key 的文件组合到同一目录中。然后会使用 PEM-format 内容作为默认证书。只有在没有指定 | |
|
用于不公开 TLS 服务器证书的路由的默认证书的路径;采用 PEM 格式。仅在没有指定 | |
|
|
如果为 |
| 要应用到命名空间的标签选择器来监视,为空表示所有。 | |
| 适用于项目的标签选择器来监视,如果为空则代表所有。 | |
| reload 脚本的路径,用于重新加载路由器。 | |
|
以逗号分隔的、路由中主机名只能从属于的域列表。可以使用域中的任何子域。选项 | |
| 字符串,用于指定在使用模板函数 processEndpointsForAlias 时应如何处理端点。有效值为 ["shuffle", ""]。"shuffle" 将在每次调用时随机化元素。默认行为以预先确定的顺序返回。 | |
|
|
如果设置为 |
| 指定 Cookie 名称来覆盖内部生成的默认名称。名称只能包含大写字母和小写字母、数字、"_" 和 "-"。默认为路由的内部密钥进行哈希处理。 | |
| "文本/html 文本/纯文本文本/css" | 要压缩空格分开的 mime 类型列表。 |
|
在路由中主机名不能属于的、以逗号分隔的域列表。域中没有可以使用子域。覆盖选项 | |
|
如果为 | |
| 0.0.0.0:1936 | 设置路由器指标的侦听地址。 |
| warning | 发送到 syslog 服务器的日志级别。 |
| 20000 | 最大并发连接数。 |
| 500 | |
|
以 CSV 格式收集的指标。例如, | |
| 5s | |
| 5s | |
| hapoxy | 为 HAProxy 路由器生成指标(haproxy 是唯一支持的值) |
|
以逗号分隔的域名列表。如果路由的域名与路由中的主机匹配,则主机名将被忽略,并且使用 | |
|
如果设置 | |
| 443 | 用于侦听 HTTPS 请求的端口。 |
| 80 | 用于侦听 HTTP 请求的端口。 |
| public | 路由器在路由状态中标识自己的名称。 |
| (可选)路由状态中显示的路由器的主机名。 | |
|
路由器在路由状态中标识自己的命名空间。如果使用 | |
| 10443 | 用于后端通信的一些前端的内部端口(请参阅以下注释)。 |
| 10444 | 用于后端通信的一些前端的内部端口(请参阅以下注释)。 |
| 应该用来在没有 spec.host (例如 ${name}-${namespace}.myapps.myapps.mycompany.com)为路由生成主机名的模板。 | |
| 发送日志消息的地址。如果为空,则禁用。 | |
| 如果设置,请覆盖底层路由器实施使用的默认日志格式。其值应符合底层路由器实施的规范。 | |
| source |
负载平衡策略. 用于多个端点,用于直通路由。可用选项包括 |
| 指定 haproxy 路由器的线程数量。 | |
| leastconn |
负载平衡策略。用于使用多个端点的路由。可用选项包括 |
| 要监视的路由的标签选择器为空。 | |
| 访问路由器统计(如果路由器实施支持)需要的密码。 | |
| 用于公开统计信息的端口(如果路由器实施支持)。如果没有设置,则 stats 不会被公开。 | |
| 访问路由器统计(如果路由器实施支持)所需要的用户名。 | |
|
| HAProxy 模板文件的路径(在容器镜像中)。 |
|
当设置为 | |
|
当设置为 | |
|
设置为 | |
| ||
| intermediate | 指定绑定 支持的密码 集合。 |
|
当设置为 | |
| 3600 | 指定提交使用动态配置管理器所做的更改的频率。这会导致底层模板路由器实施重新载入配置。 |
| 设置为包含作为动态配置管理器蓝图的路由的命名空间。这允许动态配置管理器支持带有任何自定义注解、证书或配置文件的自定义路由。 | |
| 设置为标签选择器,以应用到蓝图路由命名空间中的路由。这可让您指定可用作动态配置管理器蓝图的命名空间中的路由。 | |
| 10 |
指定由动态配置管理器管理的每个路由蓝图的预分配池的大小。这可以通过在任何蓝图路由中使用 |
| 5 | 指定添加到每个路由的最大动态服务器数量,供动态配置管理器使用。 |
如果要在同一机器上运行多个路由器,您必须更改路由器侦听的端口,ROUTER_SERVICE_SNI_PORT
和 ROUTER_SERVICE_NO_SNI_PORT
。只要在机器上是唯一的,这些端口就可能是您想要的任何端口。这些端口不会在外部公开。
路由器超时变量
TimeUnits
由一个数字及一个时间单位表示:us
*(microseconds), ms
(毫秒,默认)、s
(秒)、m
(分钟)、h
*(小时) 、d
(天)。
正则表达式为: [1-9][0-9]*(us\|ms\|s\|m\|h\|d)
| 5000ms | 后端上后续存活度检查之间的时间长度。 |
| 1s | 控制连接到路由的客户端的 TCP FIN 超时周期。如果给定时间内没有回答关闭连接的 FIN,则 HAProxy 将关闭连接。如果设置为较低值,并且在路由器上使用较少的资源,则这不会产生任何损害。 |
| 30s | 客户端必须确认或发送数据的时长。 |
| 5s | 连接最大时间。 |
| 1s | 控制路由器到支持路由的 pod 的 TCP FIN 超时。 |
| 30s | 服务器必须确认或发送数据的时长。 |
| 1h | TCP 或 WebSocket 连接保持打开的时长。如果您有 websocket/tcp 连接(以及重新加载 HAProxy 的时间),旧的 HAProxy 进程将保留在该期间。 |
| 300s |
设置等待出现新 HTTP 请求的最长时间。如果设置得太低,可能会导致浏览器和应用程序无法期望较小的 |
| 10s | HTTP 请求传输可以花费的时间长度。 |
| 5s | 路由器允许重新加载的最短频率来接受新的更改。 |
| 5s | 收集 HAProxy 指标的超时时间。 |
某些有效的超时值可以是某些变量的总和,而不是特定的预期超时。
例如:ROUTER_SLOWLORIS_HTTP_KEEPALIVE
调整 超时 http-keep-alive
,并且默认设置为 300s
,但 haproxy 还会等待 tcp-request inspect-delay
,它设置为 5s
。在这种情况下,整个超时时间将是 300s
加 5s
。