Myluzh Blog

K8S笔记-Controller-Job和Cronjob(单次任务与定时任务)

发布时间: 2023-9-14 文章作者: myluzh 分类名称: 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



标签: k8s Job Cronjob

发表评论