手动创建端点的活性探测
liveness probes for manually created Endpoints
这是一回事吗?
我有一些在 Kubernetes 中永远不会 运行 的遗留服务,我目前通过定义服务和手动上传端点对象将其提供给我的集群。
但是,该服务是水平切分的,我们经常需要重新启动其中一个端点。我的 google-fu 可能很弱,但我无法弄清楚 Kubernetes 是否足够聪明以防止服务重复尝试死端点?
理想的行为是代理应该检测到中断,将端点标记为失败,并且在端点返回时的某个时刻重新将其纳入工作端点的完整列表。
顺便说一句,据我所知,目前,liveness probes 仅支持 HTTP。这需要是一个 TCP 探测,因为它是一个不理解 HTTP 的复制数据库服务。
我认为该设计是为了根据活跃度管理 add/remove 端点地址。对于 pods 支持的服务,pod IP 会根据 pod 的就绪检查添加到端点。如果 pod 的活性检查失败,它会被删除,其 IP 从端点中删除。
如果您手动管理端点地址,目前您(或您的外部健康检查员)有责任维护端点中的 addresses/notReadyAddresses。
这是一回事吗?
我有一些在 Kubernetes 中永远不会 运行 的遗留服务,我目前通过定义服务和手动上传端点对象将其提供给我的集群。
但是,该服务是水平切分的,我们经常需要重新启动其中一个端点。我的 google-fu 可能很弱,但我无法弄清楚 Kubernetes 是否足够聪明以防止服务重复尝试死端点?
理想的行为是代理应该检测到中断,将端点标记为失败,并且在端点返回时的某个时刻重新将其纳入工作端点的完整列表。
顺便说一句,据我所知,目前,liveness probes 仅支持 HTTP。这需要是一个 TCP 探测,因为它是一个不理解 HTTP 的复制数据库服务。
我认为该设计是为了根据活跃度管理 add/remove 端点地址。对于 pods 支持的服务,pod IP 会根据 pod 的就绪检查添加到端点。如果 pod 的活性检查失败,它会被删除,其 IP 从端点中删除。
如果您手动管理端点地址,目前您(或您的外部健康检查员)有责任维护端点中的 addresses/notReadyAddresses。