[클라우드/K8S 기본(15) - CRON Job]

SooYeon Yeon·2022년 9월 14일
0

클라우드 K8S

목록 보기
17/18

CRON Job

  • 주기적으로 실행하는 쿠버네티스 오브젝트이고, 특정 시간 간격으로 잡(지정된 업무)를 ㅈ반복적으로 실행할 수 있다.

  • 1분마다 date의 결과 값을 출력

#분 시 일 월 요일
* * * * *
  • 2분마다 date 결과값 출력
*/2 * * * *
  • 매시 1분에 date를 출력
1 * * * *

Cron Job 실습

  • cronjob.yaml
apiVersion: batch/v1
kind: CronJob
metadata:
  name: testcron
spec:
  schedule: "*/1 * * * *" #  1 / 1 min
  jobTemplate:
    spec:
      template:
        spec:
          restartPolicy: Never
          containers:
          - name: testcronctn
            image: busybox
            args: ["sh", "-c", "date"]
  • 확인
root@manager:~/k8slab/etc# kubectl get pod -w
NAME                                   READY   STATUS              RESTARTS   AGE
testcron-27718755-rktd6                0/1     ContainerCreating   0          9s
testcron-27718755-rktd6                0/1     Completed           0          17s
testcron-27718755-rktd6                0/1     Completed           0          17s
testcron-27718756-jv7wr                0/1     Pending             0          0s
testcron-27718756-jv7wr                0/1     Pending             0          0s
testcron-27718756-jv7wr                0/1     ContainerCreating   0          0s
testcron-27718756-jv7wr                0/1     ContainerCreating   0          1s
testcron-27718756-jv7wr                0/1     Completed           0          11s
testcron-27718756-jv7wr                0/1     Completed           0          11s
^Croot@manager:~/k8slab/etc# kubectl get jobs
NAME                COMPLETIONS   DURATION   AGE
testcron-27718755   1/1           17s        112s
testcron-27718756   1/1           11s        52s

cronjob은 모든 히스토리를 기록하지는 않는다. 성공한 job 3개, 실패한 job 1개만 기본적으로 기록한다.

이후 삭제

kubectl delete -f cron.yaml

0개의 댓글