如何在kubernetes中触发Liveness Probe失败

我在我的服务deployment.yaml中有以下活性探测器

livenessProbe: failureThreshold: 3 httpGet: path: /health port: 9081 scheme: HTTP initialDelaySeconds: 180 timeoutSeconds: 10 periodSeconds: 10 successThreshold: 1 

我想testing一下,这个探测器实际上是否触发了一个POD重新部署,这是最简单的做法,使它失败? 可能以编程方式。

更新:

更好地澄清问题,我不想更改应用程序中的代码,既不暂停正在运行的容器。 我想知道是否有可能在运行时阻断端点/端口可能使用kubernetes或docker命令。

如果您有能力更改底层应用程序代码,只需更改/health端点,以使其返回高于400的http状态代码。

如果不是这样,你将不得不让你的应用程序以某种方式失败,可能是通过使用kubectl execlogin到pod,并进行影响应用程序运行状况的更改。

这完全取决于你的应用程序,而kubernetes只是简单地做你所说的。

如果您可以到达运行pod的主机,则在容器上执行docker pause将会暂停容器中的所有进程,这会使活动探测失败。

注意:我没有尝试过这个,但是基于docker pause 在这里 docker pause的文档,听起来就像这样。

Interesting Posts