健康发现服务 (HDS) (proto)

service.health.v3.Capability

[service.health.v3.Capability proto]

定义支持的协议等,以便管理服务器可以为健康检查分配适当的端点。

{
  "health_check_protocols": []
}
health_check_protocols

(repeated service.health.v3.Capability.Protocol)

枚举 service.health.v3.Capability.Protocol

[service.health.v3.Capability.Protocol proto]

不同的 Envoy 实例可能具有不同的功能(例如 Redis)和/或为不同的协议启用了端口。

HTTP

(默认)

TCP

REDIS

service.health.v3.HealthCheckRequest

[service.health.v3.HealthCheckRequest proto]

{
  "node": {...},
  "capability": {...}
}
节点

(config.core.v3.Node)

功能

(service.health.v3.Capability)

service.health.v3.EndpointHealth

[service.health.v3.EndpointHealth proto]

{
  "endpoint": {...},
  "health_status": ...
}
端点

(config.endpoint.v3.Endpoint)

健康状态

(config.core.v3.HealthStatus)

service.health.v3.LocalityEndpointsHealth

[service.health.v3.LocalityEndpointsHealth proto]

按每个集群下的位置对组端点健康状况进行分组。

{
  "locality": {...},
  "endpoints_health": []
}
位置

(config.core.v3.Locality)

端点健康状况

(repeated service.health.v3.EndpointHealth)

service.health.v3.ClusterEndpointsHealth

[service.health.v3.ClusterEndpointsHealth proto]

集群中端点的健康状况。集群名称和位置应与 ClusterHealthCheck 消息中的相应字段匹配。

{
  "cluster_name": ...,
  "locality_endpoints_health": []
}
集群名称

(string)

位置端点健康状况

(repeated service.health.v3.LocalityEndpointsHealth)

service.health.v3.EndpointHealthResponse

[service.health.v3.EndpointHealthResponse proto]

{
  "endpoints_health": [],
  "cluster_endpoints_health": []
}
端点健康状况

(repeated service.health.v3.EndpointHealth) 已弃用 - 端点健康信息的扁平列表。

集群端点健康状况

(repeated service.health.v3.ClusterEndpointsHealth) 按集群组织端点健康信息。

service.health.v3.HealthCheckRequestOrEndpointHealthResponse

[service.health.v3.HealthCheckRequestOrEndpointHealthResponse proto]

{
  "health_check_request": {...},
  "endpoint_health_response": {...}
}
健康检查请求

(service.health.v3.HealthCheckRequest)

只有 health_check_requestendpoint_health_response 可以设置。

端点健康状况响应

(service.health.v3.EndpointHealthResponse)

只有 health_check_requestendpoint_health_response 可以设置。

service.health.v3.LocalityEndpoints

[service.health.v3.LocalityEndpoints proto]

{
  "locality": {...},
  "endpoints": []
}
位置

(config.core.v3.Locality)

端点

(repeated config.endpoint.v3.Endpoint)

service.health.v3.ClusterHealthCheck

[service.health.v3.ClusterHealthCheck proto]

集群名称和位置提供给 Envoy 用于其健康检查的端点,以支持 Envoy 实例(在 HDS 之外)的统计信息报告、日志记录和调试。为了最大程度地发挥作用,它应该与 EDS 提供的相同集群结构相匹配。

{
  "cluster_name": ...,
  "health_checks": [],
  "locality_endpoints": [],
  "transport_socket_matches": [],
  "upstream_bind_config": {...}
}
集群名称

(string)

健康检查

(repeated config.core.v3.HealthCheck)

位置端点

(repeated service.health.v3.LocalityEndpoints)

传输套接字匹配

(repeated config.cluster.v3.Cluster.TransportSocketMatch) 可选的映射,通过健康检查时连接上的 health_checks.transport_socket_match_criteria 过滤。有关更多详细信息,请参阅 config.cluster.v3.Cluster.transport_socket_matches

上游绑定配置

(config.core.v3.BindConfig) 用于绑定新建立的上游连接的可选配置。如果地址和端口为空,则不会执行绑定。

service.health.v3.HealthCheckSpecifier

[service.health.v3.HealthCheckSpecifier proto]

{
  "cluster_health_checks": [],
  "interval": {...}
}
集群健康检查

(repeated service.health.v3.ClusterHealthCheck)

间隔

(Duration) 默认值为 1 秒。