K8S笔记-Controller-Job和Cronjob(单次任务与定时任务)
myluzh 发布于 阅读:492 Kubernetes
0x01 Job(### 一次性任务)
它的任务是在一个Pod中运行一个容器,容器会输出一句话"Hello, Kubernetes!"。在容器运行完毕后,Job会自动停止Pod并退出。如果容器在运行过程中失败,Job会重新尝试4次(backoffLimit设置为4)。
apiVersion: batch/v1
kind: Job
metadata:
name: myjob
spec:
template:
spec:
containers:
- name: mycontainer
image: myimage:latest
command: ["echo", "Hello, Kubernetes!"]
restartPolicy: Never
backoffLimit: 4
0x02 Cronjob 定时任务
定义了一个名为 my-cronjob 的 CronJob,它将每分钟创建一个 Pod。Pod 中包含一个名为 my-container 的容器,它的启动命令是 echo "Hello, Kubernetes!"。如果 Pod 运行失败,则会自动重启。
请注意,为了实现 CronJob,您需要使用 batch/v1beta1 API 版本,并将 kind 设置为 CronJob。还需要指定要执行的计划任务时间表。在上面的示例中,我们使用 /1 * 表示每分钟运行一次任务。
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: my-cronjob
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: my-container
image: my-image:latest
command: ["echo", "Hello, Kubernetes!"]
restartPolicy: OnFailure