zoukankan      html  css  js  c++  java
  • Job 失败了怎么办?【转】

    上一节讨论了 Job 执行成功的情况,如果失败了会怎么样呢?

    修改 myjob.yml,故意引入一个错误:

    646.png

    先删除之前的 Job:

    648.png

    如果将 restartPolicy 设置为 OnFailure 会怎么样?下面我们实践一下,修改 myjob.yml 后重新启动。

    运行新的 Job 并查看状态:

    647.png

    当前 SUCCESSFUL 的 Pod 数量为 0,查看 Pod 的状态:

    649.png

    可以看到有多个 Pod,状态均不正常。kubectl describe pod 查看某个 Pod 的启动日志:

    650.png

    日志显示没有可执行程序,符合我们的预期。

    下面解释一个现象:为什么 kubectl get pod 会看到这么多个失败的 Pod?

    原因是:当第一个 Pod 启动时,容器失败退出,根据 restartPolicy: Never,此失败容器不会被重启,但 Job DESIRED 的 Pod 是 1,目前 SUCCESSFUL 为 0,不满足,所以 Job controller 会启动新的 Pod,直到 SUCCESSFUL 为 1。对于我们这个例子,SUCCESSFUL 永远也到不了 1,所以 Job controller 会一直创建新的 Pod。为了终止这个行为,只能删除 Job。

    648.png

    如果将 restartPolicy 设置为 OnFailure 会怎么样?下面我们实践一下,修改 myjob.yml 后重新启动。

    651.png

    Job 的 SUCCESSFUL Pod 数量还是为 0,看看 Pod 的情况:

    652.png

    这里只有一个 Pod,不过 RESTARTS 为 3,而且不断增加,说明 OnFailure 生效,容器失败后会自动重启。

    下一节我们讨论提高 Job 执行效率的方法

  • 相关阅读:
    jQuery 语法
    HTML DOM Document 对象
    JavaScript
    JavaScript Cookies
    JavaScript 计时事件
    九度OJ 1352 和为S的两个数字
    九度0J 1374 所有员工年龄排序
    九度OJ 1373 整数中1出现的次数(从1到n整数中1出现的次数)
    九度OJ 1370 数组中出现次数超过一半的数字
    九度OJ 1361 翻转单词顺序
  • 原文地址:https://www.cnblogs.com/twobrother/p/11088707.html
Copyright © 2011-2022 走看看