网络地址 (proto)
config.core.v3.Pipe
{
"path": ...,
"mode": ...
}
- 路径
(string, REQUIRED) Unix 域套接字路径。在 Linux 上,以“@”开头的路径将使用抽象命名空间。Envoy 会将开头的“@”替换为空字节。以“@”开头的路径将在 Linux 以外的环境中导致错误。
- 模式
(uint32) 管道的模式。不适用于抽象套接字。
config.core.v3.EnvoyInternalAddress
[config.core.v3.EnvoyInternalAddress proto]
该地址表示 Envoy 内部监听器。
{
"server_listener_name": ...,
"endpoint_id": ...
}
- 端点 ID
(string) 指定端点标识符,以区分单个上游池中同一内部监听器的多个端点。仅在上游地址中使用,用于跟踪对单个端点的更改。例如,这可以设置为目标内部监听器的最终目标 IP。
config.core.v3.SocketAddress
[config.core.v3.SocketAddress proto]
{
"protocol": ...,
"address": ...,
"port_value": ...,
"named_port": ...,
"resolver_name": ...,
"ipv4_compat": ...
}
- 地址
(string, REQUIRED) 此套接字的地址。 监听器 将绑定到该地址。不允许使用空地址。指定
0.0.0.0
或::
以绑定到任何地址。在上游 BindConfig 中使用时,地址控制出站连接的源地址。对于 集群,集群类型决定地址必须是 IP(STATIC
或EDS
集群)还是通过 DNS 解析的主机名(STRICT_DNS
或LOGICAL_DNS
集群)。可以通过 resolver_name 自定义地址解析。
- 端口值
-
必须设置 port_value 或 named_port 之一。
- 命名端口
(string) 这仅在下面指定了 resolver_name 并且命名的解析器能够进行命名端口解析时有效。
必须设置 port_value 或 named_port 之一。
- 解析器名称
(string) 自定义解析器的名称。这必须已在 Envoy 中注册。如果为空,则将应用依赖于上下文的默认值。如果地址是具体的 IP 地址,则不会执行解析。如果地址是主机名,则应为此设置进行 DNS 以外的解析。在
STRICT_DNS
或LOGICAL_DNS
中指定自定义解析器将在运行时生成错误。
枚举 config.core.v3.SocketAddress.Protocol
[config.core.v3.SocketAddress.Protocol proto]
- TCP
(默认)
- UDP
config.core.v3.TcpKeepalive
[config.core.v3.TcpKeepalive proto]
{
"keepalive_probes": {...},
"keepalive_time": {...},
"keepalive_interval": {...}
}
- 保活探测
(UInt32Value) 在决定连接已断开之前,在没有响应的情况下可以发送的保活探测的最大数量。默认值是使用操作系统级别的配置(除非覆盖,否则 Linux 默认值为 9)。
- 保活时间
(UInt32Value) 连接处于空闲状态需要经过的秒数,之后才会开始发送保活探测。默认值是使用操作系统级别的配置(除非覆盖,否则 Linux 默认值为 7200 秒(即 2 小时)。
- 保活间隔
(UInt32Value) 保活探测之间的秒数。默认值是使用操作系统级别的配置(除非覆盖,否则 Linux 默认值为 75 秒)。
config.core.v3.ExtraSourceAddress
[config.core.v3.ExtraSourceAddress proto]
{
"address": {...},
"socket_options": {...}
}
- 地址
(config.core.v3.SocketAddress, REQUIRED) 要绑定的附加地址。
- 套接字选项
(config.core.v3.SocketOptionsOverride) 可能不在 Envoy 源代码或预编译二进制文件中存在的其他套接字选项。如果指定,这将覆盖 BindConfig 中的 socket_options。如果指定且没有 socket_options 或空 socket_options 列表,则表示不会应用任何套接字选项。
config.core.v3.BindConfig
[config.core.v3.BindConfig proto]
{
"source_address": {...},
"freebind": {...},
"socket_options": [],
"extra_source_addresses": [],
"additional_source_addresses": [],
"local_address_selector": {...}
}
- 源地址
(config.core.v3.SocketAddress) 创建套接字时要绑定的地址。
- freebind
(BoolValue) 创建套接字时是否设置
IP_FREEBIND
选项。当此标志设置为 true 时,允许 source_address 是未在运行 Envoy 的系统上配置的 IP 地址。当此标志设置为 false 时,选项IP_FREEBIND
在套接字上被禁用。当此标志未设置(默认值)时,套接字不会被修改,即该选项既不会启用也不会禁用。
- 套接字选项
(repeated config.core.v3.SocketOption) 可能不在 Envoy 源代码或预编译二进制文件中存在的其他套接字选项。
- 额外源地址
(repeated config.core.v3.ExtraSourceAddress) 附加到
source_address
字段中指定的地址的额外源地址。这使得能够指定多个源地址。源地址选择由 local_address_selector 决定。
- 附加源地址
(repeated config.core.v3.SocketAddress) 被 extra_source_addresses 弃用。
- 本地地址选择器
(config.core.v3.TypedExtensionConfig) 自定义本地地址选择器,用于覆盖默认值(即 DefaultLocalAddressSelector)。
config.core.v3.Address
[config.core.v3.Address proto]
地址指定逻辑或物理地址和端口,用于告诉 Envoy 在何处绑定/监听、连接到上游以及查找管理服务器。
{
"socket_address": {...},
"pipe": {...},
"envoy_internal_address": {...}
}
- 套接字地址
(config.core.v3.SocketAddress)
必须设置 socket_address、pipe 或 envoy_internal_address 之一。
- 管道
-
必须设置 socket_address、pipe 或 envoy_internal_address 之一。
- envoy 内部地址
(config.core.v3.EnvoyInternalAddress) 指定一个由 内部监听器 处理的用户空间地址。
必须设置 socket_address、pipe 或 envoy_internal_address 之一。
config.core.v3.CidrRange
[config.core.v3.CidrRange proto]
CidrRange 指定一个 IP 地址和一个前缀长度,用于为 CIDR 范围构建子网掩码。
{
"address_prefix": ...,
"prefix_len": {...}
}
- address_prefix
(string, REQUIRED) IPv4 或 IPv6 地址,例如
192.0.0.0
或2001:db8::
。
- prefix_len
(UInt32Value) 前缀长度,例如 0、32。未设置时默认为 0。