如果您使用Kubernetes,我建议仅使用Kubernetes活动/就绪检查,因为截至目前,Docker运行状况检查has not been integrated in the Kubernetes(1.12版)。这意味着Kubernetes不会在其api服务器中公开检查状态,并且内部系统组件无法使用此信息。此外,Kubernetes将活动性与就绪性检查区分开来,以便其他组件可以做出不同的React(例如,重新启动容器与从服务的端点列表中移除容器),这是Docker HEALTHCHECK当前不提供的。 更新:自Kubernetes 1.8以来,Docker HEALTHCHECK在Kubernetes中已变为disabled explicitly。
2条答案
按热度按时间s1ag04yj1#
如果您使用Kubernetes,我建议仅使用Kubernetes活动/就绪检查,因为截至目前,Docker运行状况检查has not been integrated in the Kubernetes(1.12版)。这意味着Kubernetes不会在其api服务器中公开检查状态,并且内部系统组件无法使用此信息。此外,Kubernetes将活动性与就绪性检查区分开来,以便其他组件可以做出不同的React(例如,重新启动容器与从服务的端点列表中移除容器),这是Docker HEALTHCHECK当前不提供的。
更新:自Kubernetes 1.8以来,Docker HEALTHCHECK在Kubernetes中已变为disabled explicitly。
dgtucam12#
在Docker上
HEALTHCHECK基本上是一个在容器生命周期内循环运行的命令。2它被用来让Docker守护进程知道容器的健康状况(即状态)。
它在一般情况下并不总是有用的。
"在Kubernetes"
通过检测将自动重新启动的不正常容器,它提供了某种程度的弹性,这在某种意义上是有用的。