k8s學習(十) k8s執行任務job/cronjob


Job負責處理任務,即僅執行一次的任務,它保證批處理任務的一個或多個Pod成功結束。而CronJob則就是在Job上加上了時間調度。

1、job

apiVersion: batch/v1
kind: Job
metadata:
  name: job-demo
spec:
  template:
    metadata:
      name: job-demo
    spec:
      restartPolicy: Never
      containers:
      - name: counter
        image: 192.168.100.89:80/busybox
        command:
        - "bin/sh"
        - "-c"
        - "for i in 9 8 7 6 5 4 3 2 1; do echo $i; done"
	

[root@k8s-node1 k8s]# kubectl create -f job-demo.yaml 
job.batch/job-demo created

查看job

[root@k8s-node1 k8s]# kubectl get jobs
NAME       COMPLETIONS   DURATION   AGE
job-demo   1/1           1s         6s

查看job運行日志

[root@k8s-node1 k8s]# kubectl logs jobs/job-demo
9
8
7
6
5
4
3
2
1

刪除job

kubectl delete jobs/job-demo

2、cronjob

   apiVersion: batch/v1beta1
    kind: CronJob
    metadata:
      name: cronjob-demo
    spec:
      successfulJobsHistoryLimit: 10
      failedJobsHistoryLimit: 10
      schedule: "*/1 * * * *"
      jobTemplate:
        spec:
          template:
            spec:
              restartPolicy: OnFailure
              containers:
              - name: cronjob-demo
                image: 192.168.100.89:80/busybox
                args:
                - "bin/sh"
                - "-c"
                - "for i in 10 9 8 7 6 5 4 3 2 1; do echo $i; done"

啟動

[root@k8s-node1 k8s]# kubectl apply -f cronjob-demo.yaml  --record=true
cronjob.batch/cronjob-demo created

查看cronjob

[root@k8s-node1 k8s]# kubectl get cronjobs
NAME           SCHEDULE      SUSPEND   ACTIVE   LAST SCHEDULE   AGE
cronjob-demo   */1 * * * *   False     0        <none>          6s

過一分鍾
查看執行的job

[root@k8s-node1 k8s]# kubectl get jobs
NAME                      COMPLETIONS   DURATION   AGE
cronjob-demo-1567147500   1/1           2s         4s
job-demo                  1/1           1s         45m

查看job日志

[root@k8s-node1 k8s]# kubectl logs jobs/cronjob-demo-1567147500
10
9
8
7
6
5
4
3
2
1

刪除cronjob

 kubectl delete cronjob cronjob-demo


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM