认识
2024年08月30日
一、认识
在 Kubernetes
中,Job
是一种工作负载资源,用于管理和运行一次性任务。与 Deployment
或 StatefulSet
不同,Job
的目标是确保任务运行成功一次,而不是长期运行或维护可用性。
1.1 特性
1.2 功能
一、一次性任务: Job
通常用于执行完成后即终止的任务,例如数据处理、批量计算、数据库迁移等。
二、保证任务完成: Kubernetes
会创建和监控 Pod
的状态,以确保任务至少成功完成一次。如果 Pod
意外失败,Kubernetes
会重新创建 Pod
来重试任务。
三、支持并发和分片: Job
可以配置并发运行多个 Pod
(即多个任务实例),以提高效率。
二、语法
apiVersion: batch/v1
kind: Job
metadata:
name: example-job
spec:
completions: 1 # 总共需要完成的任务数
parallelism: 1 # 并行运行的 Pod 数
template:
spec:
containers:
- name: example-task
image: busybox
command: ["sh", "-c", "echo Hello Kubernetes! && sleep 30"]
restartPolicy: OnFailure