pod 完成任务后不再重启.

4.5.1 介绍 Job 资源

image.png

4.5.2 定义 Job 资源

image.png

4.5.3 看 Job 运行一个 pod

  1. $ kubectl get jobs

列出已完成的任务:

  • --show-all-a
  1. $ kubectl get po -a

完成任务的 pod 不会被删除以便查看日志.

  1. $ kubectl logs xxx

Job 被删除后, pod 也被删除.

4.5.4 在 Job 中运行多个 pod 实例

多个 pod Job 实例可以并行或串行运行.

顺序运行 Job pod

  • completions: 希望运行的次数

image.png

如果在运行的过程中有失败的 pod, 那么 Job 最终会创建5个以上的 pod.

并行运行 Job pod

  • parallelism: 指定允许多少个 pod 并行执行

image.png

Job 的缩放

  1. $ kubectl scale job xxJob --replicas 3

4.5.5 限制 Job pod 完成任务的时间

  • activeDeadlineSeconds: 限制 pod 运行时间
  • spec.backoffLimit: 可以指定重试次数, 默认6

如果超时, 系统将尝试终止 pod, 并标记 Job 为失败.