Kubernetes 工作旨在管理批处理进程,让你可以运行需要成功完成的任务。它们能确保指定数量的 pod 成功终止,因此非常适合需要完成的任务,如数据处理或备份。


下面的代码片段演示了如何创建一个运行基本任务的简单 Kubernetes Job。

[代码清单]

apiVersion: batch/v1
kind: Job
metadata:
 name: example-job
spec:
 template:
  spec:
   containers:
   - name: job-container
     image: busybox
     command: ["echo", "Hello, Kubernetes Jobs!"]
   restartPolicy: Never
 backoffLimit: 4

[执行结果]

Hello, Kubernetes Jobs!

在本例中,我们定义了一个名为 example-job 的作业。该作业基于 busybox 映像运行一个容器,执行命令 echo “Hello,Kubernetes Jobs!”。重启策略 Never 可确保 pod 完成任务后不会重新启动。backoffLimit:4 规定,如果作业失败,Kubernetes 将最多重试四次,然后才会认为作业失败。

[小知识]

对于非连续性且需要运行完成的任务,作业尤其有用。

你可以在作业中指定并行性来同时运行多个 pod,这样可以加快大型数据集的处理速度。

可以使用 kubectl get jobs 监控作业,查看其状态和完成情况。