我运行这个命令是为了看看作业重启在k8s中是如何工作的。
kubectl run alpine --image=alpine --restart=OnFailure -- exit 1阿尔卑斯山的图像已经存在了。第一次失败几乎是在一秒钟之内发生的。k8s需要5分钟来完成5次重启!为什么它不立即尝试呢?有没有办法缩短两次重启之间的时间?

发布于 2019-03-20 04:25:09
看看Pod Lifecycle文档:
被kubelet重启的
退出容器以指数退避延迟 (10s,20s,40s…)重新启动上限为5分钟,并在成功执行10分钟后重置。
我认为没有办法配置退避延迟时间。
编辑:有一个请求此功能。
另外,请注意,使用kubectl run 并不是在模拟“作业重新启动”。作业由Job Controllers管理,在处理pod/containers错误时,它的行为略有不同,因为它考虑了restartPolicy、parallelism、completions和backoffLimit配置的组合:
有些情况下,由于配置等方面的逻辑错误,您希望在重试一定数量的作业后使作业失败。为此,请将.spec.backoffLimit设置为指定重试次数,然后再将作业视为失败。退避限制默认设置为6。与作业关联的失败Pod由作业控制器重新创建,并具有指数退避延迟(10s、20s、40s…)最多六分钟。
https://stackoverflow.com/questions/55248749
复制相似问题