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 监控作业,查看其状态和完成情况。