Consul有一个TTL运行状况检查,它的状态应该通过HTTP接口定期更新。我们从TTL微服务向注册的领事服务端点执行GET请求,以重置akka.net计时器并停留在领事服务仪表板上。
Kubernetes有没有类似的东西?不是对pod_ip:port
执行请求的活动/就绪探测,而是等待来自正在运行的应用程序的请求。例如,我们不仅希望监视在某个端口上运行的AKKA应用程序,还希望确保参与者系统中的每个参与者都是健康的。
谢谢!
发布于 2020-04-24 23:58:02
Kubernetes想要探测应用程序(使用活动和就绪探测),而应用程序想要发送它的TTL心跳信号来通知活动,比如说,领事代理。
协调两种健康检查策略的一种方法是在应用程序的pod中运行一个特殊的sidecar health check server。这样的sidecar服务器将位于应用程序和kubelet之间,并将处理应用程序的TTL心跳,以更新其内部状态,并注意应用程序是否仍处于活动状态。只要是这种情况,它就会向HTTP probes of Kubernetes回复一个200OK。否则,它会向Kubernetes回复200-300范围之外的代码,以发出应用程序不健康的信号。
Consul代理本身可以充当这样的sidecar健康检查服务器的一部分。它的HTTP health check API以JSON对象的形式返回应用程序的TTL活动状态。所有需要做的就是将状态转换为适当的HTTP返回代码。但是使用Consul agent是完全可选的: sidecar当然可以自己处理TTL心跳。
https://stackoverflow.com/questions/61406884
复制相似问题