用戶端狀態探索服務 (CSDS) (proto)

service.status.v3.ClientStatusRequest

[service.status.v3.ClientStatusRequest proto]

請求由 NodeMatchers 清單識別的用戶端狀態。

{
  "node_matchers": [],
  "node": {...}
}
node_matchers

(repeated type.matcher.v3.NodeMatcher) 管理伺服器可以使用這些比對條件來識別用戶端。比對遵循 OR 語義。

node

(config.core.v3.Node) 發出 csds 請求的節點。

service.status.v3.PerXdsConfig

[service.status.v3.PerXdsConfig proto]

詳細組態 (每個 xDS) 與狀態。

{
  "status": ...,
  "client_status": ...,
  "listener_config": {...},
  "cluster_config": {...},
  "route_config": {...},
  "scoped_route_config": {...},
  "endpoint_config": {...}
}
status

(service.status.v3.ConfigStatus) 管理伺服器產生的組態狀態。如果 CSDS 伺服器是 xDS 用戶端,則不會出現此欄位。

client_status

(service.status.v3.ClientConfigStatus) 用戶端組態狀態由 xDS 用戶端填入。如果 CSDS 伺服器是 xDS 伺服器,則不會出現此欄位。無論用戶端組態狀態為何,xDS 用戶端都應始終傾印最近接受的 xDS 組態。

注意

此欄位已棄用。請改用 ClientResourceStatus 來取得每個資源的組態狀態。

listener_config

(admin.v3.ListenersConfigDump)

只能設定 listener_configcluster_configroute_configscoped_route_configendpoint_config 中的其中一個。

cluster_config

(admin.v3.ClustersConfigDump)

只能設定 listener_configcluster_configroute_configscoped_route_configendpoint_config 中的其中一個。

route_config

(admin.v3.RoutesConfigDump)

只能設定 listener_configcluster_configroute_configscoped_route_configendpoint_config 中的其中一個。

scoped_route_config

(admin.v3.ScopedRoutesConfigDump)

只能設定 listener_configcluster_configroute_configscoped_route_configendpoint_config 中的其中一個。

endpoint_config

(admin.v3.EndpointsConfigDump)

只能設定 listener_configcluster_configroute_configscoped_route_configendpoint_config 中的其中一個。

service.status.v3.ClientConfig

[service.status.v3.ClientConfig proto]

特定用戶端的所有 xds 組態。

{
  "node": {...},
  "xds_config": [],
  "generic_xds_configs": [],
  "client_scope": ...
}
node

(config.core.v3.Node) 特定用戶端的節點。

xds_config

(repeated service.status.v3.PerXdsConfig) 此欄位已棄用,改用 generic_xds_configs,其結構更簡單且一致。

generic_xds_configs

(repeated service.status.v3.ClientConfig.GenericXdsConfig) 代表通用 xDS 組態,確切的組態結構取決於類型 URL (例如,如果是 CDS,則為叢集)

client_scope

(字串) 對於 xDS 用戶端,資料使用的範圍。例如,gRPC 指示資料平面目標,或資料與 gRPC 伺服器相關聯。

service.status.v3.ClientConfig.GenericXdsConfig

[service.status.v3.ClientConfig.GenericXdsConfig proto]

GenericXdsConfig 用於指定組態狀態和任何由其類型 URL 識別的 xDS 資源的傾印。它是現已棄用的 ListenersConfigDump、ClustersConfigDump 等的通用版本

{
  "type_url": ...,
  "name": ...,
  "version_info": ...,
  "xds_config": {...},
  "last_updated": {...},
  "config_status": ...,
  "client_status": ...,
  "is_static_resource": ...
}
type_url

(字串) Type_url 代表 xDS 資源類型的完整名稱,例如 envoy.v3.Cluster、envoy.v3.ClusterLoadAssignment 等。

name

(字串) xDS 資源的名稱

version_info

(字串) 這是最後處理的 xDS 探索回應中的 version_info。如果只有靜態啟動監聽器,此欄位將為「」

xds_config

(Any) xDS 資源組態。實際內容取決於類型

last_updated

(Timestamp) 最後更新 xDS 資源的時間戳記

config_status

(service.status.v3.ConfigStatus) 每個 xDS 資源組態狀態。由管理伺服器產生。如果 CSDS 伺服器是 xDS 用戶端,則不會出現此欄位。

client_status

(admin.v3.ClientResourceStatus) 從 xDS 用戶端的角度來看,每個 xDS 資源的狀態

is_static_resource

(bool) 如果靜態資源是在啟動時透過檔案提供的組態中指定,則為 true。

service.status.v3.ClientStatusResponse

[service.status.v3.ClientStatusResponse proto]

{
  "config": []
}
config

(repeated service.status.v3.ClientConfig) ClientStatusRequest 中指定的用戶端的用戶端組態。

列舉 service.status.v3.ConfigStatus

[service.status.v3.ConfigStatus proto]

從管理伺服器角度來看的組態狀態。

UNKNOWN

(DEFAULT) ⁣狀態資訊不可用/未知。

SYNCED

⁣管理伺服器已將組態傳送給用戶端,並收到 ACK。

NOT_SENT

⁣尚未傳送組態。

STALE

⁣管理伺服器已將組態傳送給用戶端,但尚未收到 ACK/NACK。

ERROR

⁣管理伺服器已將組態傳送給用戶端,但收到 NACK。附加的組態傾印將會是最新的組態 (遭拒絕的組態),因為它是管理伺服器中持續存在的版本。

列舉 service.status.v3.ClientConfigStatus

[service.status.v3.ClientConfigStatus proto]

從用戶端角度來看的組態狀態。

CLIENT_UNKNOWN

(DEFAULT) ⁣組態狀態不可用/未知。

CLIENT_REQUESTED

⁣用戶端已請求組態,但尚未收到管理伺服器的任何組態。

CLIENT_ACKED

⁣用戶端已收到組態,並回覆 ACK。

CLIENT_NACKED

⁣用戶端已收到組態,並回覆 NACK。值得注意的是,附加的組態傾印不是 NACK 版本,而是最近接受的版本。如果尚未接受任何組態,則附加的組態傾印將為空白。