kubernetes - 即使使用 restartPolicy,Kubernetes 作业也会重新启动:“从不”
问题描述
我有一份restartPolicy: "Never"
以“错误”结尾的工作
有了Status : Error
这个工作不应该重新启动。
但是,每次上一个作业失败时,都会一次又一次地创建一个新的 pod:
$ kubectl get pods
kafka-pvbqk 0/1 Error 0 2m19s
kafka-ttt95 0/1 Error 0 109s
kafka-7fqgl 0/1 Error 0 69s
kafka-rrmlk 0/1 PodInitializing 0 2s
我知道第一件事应该是修复错误,但我也想了解 pod 重新启动的原因以及如何避免这种情况?
谢谢
解决方案
这是正确的行为,而不是错误。您指向的重启策略是关于 Pod,而不是作业本身。
设置.spec.backoffLimit
为指定在将作业视为失败之前重试的次数后使作业失败。
默认情况下,回退限制设置为 6。与作业关联的失败 Pod 由作业控制器重新创建,并以指数回退延迟(10 秒、20 秒、40 秒 ...)上限为 6 分钟。当 Job 的 Pod 被删除或成功且该 Job 的任何其他 Pod 在此期间失败时,退避计数将被重置。
推荐阅读
- vbscript - VBScript MoveFile - Microsoft VBScript 运行时错误:找不到文件(但文件已重命名)
- python - Python shutil.copy2() 函数抛出“没有这样的文件”错误
- linux - 以其他用户而非 root 用户身份登录 GCP 实例
- openedge - Progress 4GL - 应用服务器适配器未运行
- javascript - 如何在不实际最小化浏览器窗口的情况下在全屏桌面视图上显示 react.js 组件的 css 移动视图分辨率?
- angular - 预期有 1 个参数,但角度为 0
- html - 即使在具有引导程序的较小设备上,如何使项目保持一致
- java - 使用ajax调用在django中添加搜索数据的分页
- animation - 无损视频压缩格式
- c# - 可以在 Visual Studio 控制台/Windows 应用程序中安装和使用实体框架