客户端状态发现服务 (CSDS) (proto)
service.status.v3.ClientStatusRequest
[service.status.v3.ClientStatusRequest proto]
请求由节点匹配器列表标识的客户端的客户端状态。
{
"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,则为 Cluster)
- client_scope
(string) 对于 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
(string) Type_url 表示 xDS 资源类型的完全限定名称,例如 envoy.v3.Cluster、envoy.v3.ClusterLoadAssignment 等。
- name
(string) xDS 资源的名称
- version_info
(string) 这是上次处理的 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) 如果它是在启动时通过文件提供的配置中指定的,则 Is static resource 为 true。
service.status.v3.ClientStatusResponse
[service.status.v3.ClientStatusResponse proto]
{
"config": []
}
- config
(repeated service.status.v3.ClientConfig) 针对 ClientStatusRequest 中指定的客户端的客户端配置。
Enum service.status.v3.ConfigStatus
[service.status.v3.ConfigStatus proto]
从管理服务器视角查看配置的状态。
- UNKNOWN
(DEFAULT) 状态信息不可用/未知。
- SYNCED
管理服务器已将配置发送到客户端并收到 ACK。
- NOT_SENT
配置未发送。
- STALE
管理服务器已将配置发送到客户端,但尚未收到 ACK/NACK。
- ERROR
管理服务器已将配置发送到客户端,但收到 NACK。附加的配置转储将是最新配置(被拒绝的配置),因为它是在管理服务器中持久化的版本。
Enum service.status.v3.ClientConfigStatus
[service.status.v3.ClientConfigStatus proto]
从客户端视角查看配置的状态。
- CLIENT_UNKNOWN
(DEFAULT) 配置状态不可用/未知。
- CLIENT_REQUESTED
客户端已请求配置,但尚未从管理服务器收到任何配置。
- CLIENT_ACKED
客户端已收到配置并回复 ACK。
- CLIENT_NACKED
客户端已收到配置并回复 NACK。值得注意的是,附加的配置转储不是被 NACK 的版本,而是最新的已接受版本。如果尚未接受任何配置,则附加的配置转储将为空。