組態來源 (proto)

config.core.v3.ApiConfigSource

[config.core.v3.ApiConfigSource proto]

API 組態來源。這會識別 Envoy 將用來擷取 xDS API 的 API 類型和叢集。

{
  "api_type": ...,
  "transport_api_version": ...,
  "cluster_names": [],
  "grpc_services": [],
  "refresh_delay": {...},
  "request_timeout": {...},
  "rate_limit_settings": {...},
  "set_node_on_first_message_only": ...,
  "config_validators": []
}
api_type

(config.core.v3.ApiConfigSource.ApiType) API 類型 (gRPC、REST、delta gRPC)

transport_api_version

(config.core.v3.ApiVersion) xDS 傳輸協定的 API 版本。這描述 xDS gRPC/REST 端點和線路上使用的 [Delta]DiscoveryRequest/Response 版本。

cluster_names

(重複 字串) 叢集名稱應僅與 REST 一起使用。如果定義了 > 1 個叢集,如果發生任何類型的故障,叢集將會循環使用。

注意

名稱為 cluster_name 的叢集必須靜態定義,且其類型不得為 EDS

grpc_services

(重複 config.core.v3.GrpcService) 可以為 GRPC 提供多個 gRPC 服務。如果定義了 > 1 個叢集,如果發生任何類型的故障,服務將會循環使用。

refresh_delay

(持續時間) 對於 REST API,連續輪詢之間的延遲。

request_timeout

(持續時間) 對於 REST API,請求逾時。如果未設定,將使用預設值 1 秒。

rate_limit_settings

(config.core.v3.RateLimitSettings) 對於 GRPC API,速率限制設定。如果存在,Envoy 發出的探索請求將會受到速率限制。

set_node_on_first_message_only

(布林值) 跳過串流 gRPC 組態類型的後續探索請求中的節點識別碼。

config_validators

(重複 config.core.v3.TypedExtensionConfig) 從 ApiConfigSource 收到新更新時將執行的組態驗證器清單。請注意,每個驗證器都會處理特定的 xDS 服務類型,並且只會呼叫對應於類型 URL 的驗證器 (在 :ref: DiscoveryResponse:ref: DeltaDiscoveryResponse 中)。如果驗證器傳回 false 或擲回例外,則用戶端將會拒絕該組態,並會傳送 NACK。

提示

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

列舉 config.core.v3.ApiConfigSource.ApiType

[config.core.v3.ApiConfigSource.ApiType proto]

API 可以透過 REST 或 gRPC 擷取。

DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE

(預設) ⁣理想情況下,這應該是「保留 0」,但無法保留預設值。相反地,如果使用此值,我們會擲回例外。

REST

⁣REST-JSON v2 API。使用 v2 protos 的 標準 JSON 編碼

GRPC

⁣SotW gRPC 服務。

DELTA_GRPC

⁣使用 delta xDS gRPC 服務,例如 DeltaDiscovery{Request,Response} 而不是 Discovery{Request,Response}。xDS 伺服器不會在每次更新時都將整個狀態傳送給 Envoy,而是只會傳送自上次更新以來所變更的內容。

config.core.v3.AggregatedConfigSource

[config.core.v3.AggregatedConfigSource proto]

彙總探索服務 (ADS) 選項。目前此選項為空白,但在 ConfigSource 中設定時,可用於指定要使用 ADS。

config.core.v3.RateLimitSettings

[config.core.v3.RateLimitSettings proto]

要套用於 Envoy 發出的探索請求的速率限制設定。

{
  "max_tokens": {...},
  "fill_rate": {...}
}
max_tokens

(UInt32Value) 用於速率限制探索請求呼叫的最大權杖數目。如果未設定,將使用預設值 100。

fill_rate

(DoubleValue) 每秒將填入權杖的速率。如果未設定,將使用預設的每秒 10 個權杖的填入速率。最小填入速率為每年一次。較低的填入速率將設定為每年一次。

config.core.v3.PathConfigSource

[config.core.v3.PathConfigSource proto]

本機檔案系統路徑組態來源。

{
  "path": ...,
  "watched_directory": {...}
}
path

(字串, 必要) 檔案系統上的路徑,用於來源和監看組態更新。在為 密碼 來源組態時,也會監看憑證和金鑰檔案的更新。

注意

來源的路徑必須在組態載入時存在。

注意

如果未設定 watched_directory,Envoy 將會監看檔案路徑的移動。這是因為一般而言,只有移動才是不可分割的。此處也可以使用與 執行階段文件 中示範的相同檔案交換方法。如果設定了 watched_directory,則不會直接在此路徑上放置監看。而是會使用設定的 watched_directory 來觸發此路徑的重新載入。這在某些部署案例中是必要的。請參閱下文以取得更多資訊。

watched_directory

(config.core.v3.WatchedDirectory) 如果已設定,將會監看此目錄的移動。當此目錄中的項目移動到時,將會重新載入 path。這在某些部署案例中是必要的。

具體而言,如果嘗試使用 Kubernetes ConfigMap 載入 xDS 資源,可能會使用下列組態:1. 將 xds.yaml 儲存在 ConfigMap 內。2. 將 ConfigMap 掛接到 /config_map/xds 3. 設定路徑 /config_map/xds/xds.yaml 4. 設定監看目錄 /config_map/xds

上述組態將確保 Envoy 監看擁有目錄的移動,這在 Kubernetes 於不可分割的更新期間如何管理 ConfigMap 符號連結時是必要的。

config.core.v3.ConfigSource

[config.core.v3.ConfigSource proto]

用於 監聽器叢集路由端點 等的組態,可以從檔案系統或 xDS API 來源取得。檔案系統組態會使用 inotify 監看更新。

{
  "path": ...,
  "path_config_source": {...},
  "api_config_source": {...},
  "ads": {...},
  "initial_fetch_timeout": {...},
  "resource_api_version": ...
}
path

(字串) 已棄用,改用 path_config_source。請改用該欄位。

必須設定 pathpath_config_sourceapi_config_sourceads 其中之一。

path_config_source

(config.core.v3.PathConfigSource) 本機檔案系統路徑組態來源。

必須設定 pathpath_config_sourceapi_config_sourceads 其中之一。

api_config_source

(config.core.v3.ApiConfigSource) API 組態來源。

必須設定 pathpath_config_sourceapi_config_sourceads 其中之一。

ads

(config.core.v3.AggregatedConfigSource) 設定後,將使用 ADS 來取得資源。將使用引導設定中的 ADS API 組態來源。

必須設定 pathpath_config_sourceapi_config_sourceads 其中之一。

initial_fetch_timeout

(Duration) 當指定此逾時時,Envoy 在初始化程序期間,對於此 xDS 訂閱上的第一個組態回應,Envoy 最多會等待指定的時間。達到逾時後,即使尚未傳遞第一個組態,Envoy 也會移至下一個初始化階段。計時器會在 xDS API 訂閱開始時啟動,並在第一次組態更新或發生錯誤時解除。0 表示沒有逾時 - Envoy 將無限期地等待第一個 xDS 組態(除非套用另一個逾時)。預設值為 15 秒。

resource_api_version

(config.core.v3.ApiVersion) xDS 資源的 API 版本。這表示用戶端將請求資源的類型 URL,以及用戶端反過來預期傳遞的資源類型。

config.core.v3.ExtensionConfigSource

[config.core.v3.ExtensionConfigSource proto]

用於延遲綁定的擴充功能組態的組態來源規範。在收到所有初始擴充功能組態之前,父資源會被加溫,除非設定了套用預設組態的旗標。後續的擴充功能更新在每個工作站的基礎上都是原子的。一旦將擴充功能組態套用到請求或連線,它在處理期間會保持不變。如果初始擴充功能組態的傳遞失敗,例如由於逾時,則會套用可選的預設組態。如果沒有預設組態,則會停用該擴充功能,直到收到擴充功能組態為止。停用擴充功能的行為取決於上下文。例如,具有停用擴充功能篩選器的篩選器鏈會拒絕所有傳入的流。

{
  "config_source": {...},
  "default_config": {...},
  "apply_default_config_without_warming": ...,
  "type_urls": []
}
config_source

(config.core.v3.ConfigSource)

default_config

(Any) 如果無法接收初始擴充功能組態或設定了 apply_default_config_without_warming 旗標,則可選擇使用預設組態作為初始組態。

apply_default_config_without_warming

(bool) 使用預設組態作為初始組態,而無需加溫和等待第一個探索回應。需要提供預設組態。

type_urls

(repeated string, REQUIRED) 一組允許的擴充功能類型 URL。如果擴充功能組態與集合中的任何類型 URL 不符,則會拒絕更新。

Enum config.core.v3.ApiVersion

[config.core.v3.ApiVersion proto]

xDS API 和非 xDS 服務版本。這用於描述資源和傳輸協定版本(在不同的組態欄位中)。

AUTO

(預設) ⁣如果未指定,我們假設為 v3;這是唯一支援的版本。

V2

⁣使用 xDS v2 API。這不再支援。

V3

⁣使用 xDS v3 API。