防止Kubernetes崩溃循环中的回退

628mspwn  于 2022-11-28  发布在  Kubernetes
关注(0)|答案(2)|浏览(147)

我有一个pod,里面有一些糟糕的、有缺陷的软件。Kubernetes很棒的一个原因是,当软件崩溃时,它会重新启动软件,这很棒。
Kubernetes是为好的软件而设计的,而不是糟糕的软件,所以它在重启Pod时会做指数回退。这意味着我必须在崩溃之间等待五分钟,然后我的Pod才会重启。
有没有办法限制Kubernetes的后退策略?我想把它改为在再次启动分离舱之前等待不超过三十秒。

0pizxfdo

0pizxfdo1#

不幸的是,容器重新启动的最大回退时间对于节点可靠性来说是不可调的(即,太多的容器重新启动会使节点不堪重负)。如果您确实想在集群中更改它,则需要在代码中修改最大回退时间,编译您自己的Kubelet二进制文件,并将其分发到您的节点上。

pgccezyw

pgccezyw2#

正如已经在@yu-ju hong established的回复中所指出的,您不能更改有关backOff超时的硬编码值。但是如果您真的想让pod中的服务尽可能多地重新启动,并且对k8s提供的遥测技术不感兴趣,您也可以将应用程序 Package 在shell脚本中,该脚本在while循环中重新启动它。
这不是对这个问题的回答,但可能是一个务实的“解决方案”。
但是你需要考虑到,你不能区分那些预期的崩溃和其他可能不预期的崩溃。

相关问题