跳到主要内容

认识

2024年08月30日
柏拉文
越努力,越幸运

一、认识


Kubernetes 中,Job 是一种工作负载资源,用于管理和运行一次性任务。与 DeploymentStatefulSet 不同,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