如何在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 exec
login到pod,并进行影响应用程序运行状况的更改。
这完全取决于你的应用程序,而kubernetes只是简单地做你所说的。
如果您可以到达运行pod的主机,则在容器上执行docker pause
将会暂停容器中的所有进程,这会使活动探测失败。
注意:我没有尝试过这个,但是基于docker pause
在这里 docker pause
的文档,听起来就像这样。