用戶端狀態探索服務 (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_config、cluster_config、route_config、scoped_route_config、endpoint_config 中的其中一個。
- cluster_config
-
只能設定 listener_config、cluster_config、route_config、scoped_route_config、endpoint_config 中的其中一個。
- route_config
-
只能設定 listener_config、cluster_config、route_config、scoped_route_config、endpoint_config 中的其中一個。
- scoped_route_config
(admin.v3.ScopedRoutesConfigDump)
只能設定 listener_config、cluster_config、route_config、scoped_route_config、endpoint_config 中的其中一個。
- endpoint_config
(admin.v3.EndpointsConfigDump)
只能設定 listener_config、cluster_config、route_config、scoped_route_config、endpoint_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 版本,而是最近接受的版本。如果尚未接受任何組態,則附加的組態傾印將為空白。