这期内容当中小编将会给大家带来有关Job 失败了怎么办,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
如果Job失败了会怎么样呢?
修改 myjob.yml,故意引入一个错误:
先删除之前的 Job:
如果将 restartPolicy
设置为 OnFailure
会怎么样?下面我们实践一下,修改 myjob.yml 后重新启动。
运行新的 Job 并查看状态:
当前 SUCCESSFUL
的 Pod 数量为 0
,查看 Pod 的状态
可以看到有多个 Pod,状态均不正常。kubectl describe pod
查看某个 Pod 的启动日志:
日志显示没有可执行程序,符合我们的预期。
下面解释一个现象:为什么 kubectl get pod
会看到这么多个失败的 Pod?
原因是:当第一个 Pod 启动时,容器失败退出,根据 restartPolicy: Never
,此失败容器不会被重启,但 Job DESIRED
的 Pod 是 1
,目前 SUCCESSFUL
为 0
,不满足,所以 Job controller 会启动新的 Pod,直到 SUCCESSFUL
为 1
。对于我们这个例子,SUCCESSFUL
永远也到不了 1
,所以 Job controller 会一直创建新的 Pod。为了终止这个行为,只能删除 Job。
Job 的 SUCCESSFUL
Pod 数量还是为 0
,看看 Pod 的情况
这里只有一个 Pod,不过 RESTARTS
为 3
,而且不断增加,说明 OnFailure
生效,容器失败后会自动重启。
上述就是小编为大家分享的Job 失败了怎么办了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。