網路位址 (proto)

config.core.v3.Pipe

[config.core.v3.Pipe proto]

{
  "path": ...,
  "mode": ...
}
路徑

(字串必要) Unix Domain Socket 路徑。在 Linux 上,以「@」開頭的路徑將使用抽象命名空間。Envoy 會將開頭的「@」替換為空位元組。在 Linux 以外的環境中,以「@」開頭的路徑將導致錯誤。

模式

(uint32) Pipe 的模式。不適用於抽象 socket。

config.core.v3.EnvoyInternalAddress

[config.core.v3.EnvoyInternalAddress proto]

位址表示 Envoy 內部監聽器。

{
  "server_listener_name": ...,
  "endpoint_id": ...
}
server_listener_name

(字串必要) 指定內部監聽器的 名稱

endpoint_id

(字串) 指定端點識別碼,以區分單一上游池中相同內部監聽器的多個端點。僅用於上游位址,以追蹤對個別端點的變更。例如,這可以設定為目標內部監聽器的最終目的地 IP。

config.core.v3.SocketAddress

[config.core.v3.SocketAddress proto]

{
  "protocol": ...,
  "address": ...,
  "port_value": ...,
  "named_port": ...,
  "resolver_name": ...,
  "ipv4_compat": ...
}
協定

(config.core.v3.SocketAddress.Protocol)

位址

(字串必要) 此 socket 的位址。監聽器將會繫結到此位址。不允許使用空的位址。指定 0.0.0.0:: 以繫結到任何位址。當在 BindConfig 上游使用時,此位址控制連出的連線的來源位址。對於 叢集,叢集類型決定位址必須是 IP (STATICEDS 叢集) 或由 DNS 解析的主機名稱 (STRICT_DNSLOGICAL_DNS 叢集)。位址解析可以透過 resolver_name 自訂。

port_value

(uint32)

必須設定 port_valuenamed_port 其中之一。

named_port

(字串) 僅當下方指定 resolver_name,且已命名的解析器能夠解析已命名埠時,此值才有效。

必須設定 port_valuenamed_port 其中之一。

resolver_name

(字串) 自訂解析器的名稱。此名稱必須已在 Envoy 中註冊。如果此值為空,則會套用上下文相關的預設值。如果位址是具體的 IP 位址,則不會進行解析。如果位址是主機名稱,則應設定此值,以進行 DNS 以外的解析。使用 STRICT_DNSLOGICAL_DNS 指定自訂解析器會在執行階段產生錯誤。

ipv4_compat

(布林值) 當繫結到上述 IPv6 位址時,這會啟用 IPv4 相容性。繫結到 :: 將允許 IPv4 和 IPv6 連線,並將對等 IPv4 位址對應到 IPv6 空間,如 ::FFFF:<IPv4-address>

列舉 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": {...}
}
keepalive_probes

(UInt32Value) 在判斷連線已中斷之前,傳送而無回應的 keepalive 探測次數上限。預設是使用作業系統層級組態 (除非覆寫,Linux 預設為 9)。

keepalive_time

(UInt32Value) 連線需要在閒置多少秒後才開始傳送 keep-alive 探測。預設是使用作業系統層級組態 (除非覆寫,Linux 預設為 7200 秒 (即 2 小時)。

keepalive_interval

(UInt32Value) keep-alive 探測之間的秒數。預設是使用作業系統層級組態 (除非覆寫,Linux 預設為 75 秒)。

config.core.v3.ExtraSourceAddress

[config.core.v3.ExtraSourceAddress proto]

{
  "address": {...},
  "socket_options": {...}
}
位址

(config.core.v3.SocketAddress必要) 要繫結的其他位址。

socket_options

(config.core.v3.SocketOptionsOverride) 可能不存在於 Envoy 原始碼或預先編譯二進位檔中的其他 socket 選項。如果指定,這會覆寫 BindConfig 中的 socket_options。如果指定時沒有 socket_optionssocket_options 的空清單,則表示不會套用任何 socket 選項。

config.core.v3.BindConfig

[config.core.v3.BindConfig proto]

{
  "source_address": {...},
  "freebind": {...},
  "socket_options": [],
  "extra_source_addresses": [],
  "additional_source_addresses": [],
  "local_address_selector": {...}
}
source_address

(config.core.v3.SocketAddress) 建立 socket 時要繫結的位址。

freebind

(BoolValue) 是否在建立 socket 時設定 IP_FREEBIND 選項。當此旗標設定為 true 時,允許 source_address 為未在執行 Envoy 的系統上組態的 IP 位址。當此旗標設定為 false 時,會在 socket 上停用 IP_FREEBIND 選項。當未設定此旗標 (預設) 時,不會修改 socket,即不會啟用或停用選項。

socket_options

(重複 config.core.v3.SocketOption) 可能不存在於 Envoy 原始碼或預先編譯二進位檔中的其他 socket 選項。

extra_source_addresses

(重複 config.core.v3.ExtraSourceAddress) 附加到 source_address 欄位中指定位址的其他來源位址。這允許指定多個來源位址。來源位址的選取由 local_address_selector 決定。

additional_source_addresses

(repeated config.core.v3.SocketAddress) 已被 extra_source_addresses 取代。

local_address_selector

(config.core.v3.TypedExtensionConfig) 自訂本地位址選擇器,以覆寫預設值 (即 DefaultLocalAddressSelector)。

提示

此擴充類別具有以下已知的擴充功能

config.core.v3.Address

[config.core.v3.Address proto]

位址指定邏輯或實體位址和埠,用於告知 Envoy 綁定/監聽的位置、連線到上游以及尋找管理伺服器。

{
  "socket_address": {...},
  "pipe": {...},
  "envoy_internal_address": {...}
}
socket_address

(config.core.v3.SocketAddress)

必須設定 socket_addresspipeenvoy_internal_address 中的其中一個。

pipe

(config.core.v3.Pipe)

必須設定 socket_addresspipeenvoy_internal_address 中的其中一個。

envoy_internal_address

(config.core.v3.EnvoyInternalAddress) 指定由內部監聽器處理的使用者空間位址。

必須設定 socket_addresspipeenvoy_internal_address 中的其中一個。

config.core.v3.CidrRange

[config.core.v3.CidrRange proto]

CidrRange 指定 IP 位址和前綴長度,以建構 CIDR 範圍的子網路遮罩。

{
  "address_prefix": ...,
  "prefix_len": {...}
}
address_prefix

(字串必要) IPv4 或 IPv6 位址,例如 192.0.0.02001:db8::

prefix_len

(UInt32Value) 前綴長度,例如 0、32。未設定時預設為 0。