kok202
쿠버네티스 입문 - 02 - 컨트롤러 6 - 크론잡

2020. 4. 4. 03:29[정리] 기능별 개념 정리/Kubernetes

크론잡

잡을 시간 기준으로 관리하도록 생성한다.

시간을 지정할 때는 리눅스, 유닉스의 cron 명령어 옵션 형식을 그대로 사용한다.

 

 

 

크론잡 Sample

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: hello-concurrency
spec:
  schedule: "*/1 * * * *"
  startingDeadlineSeconds: 600
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: hello
            image: busybox
            args:
            - /bin/sh
            - -c
            - date; echo Hello from the Kubernetes cluster; sleep 6000
          restartPolicy: OnFailure

.spec.schedule : 스케줄 지정

.spec.startingDeadlineSeconds : 지정된 시간에 크론잡이 실행되지 못했을 때 명시한 시간이 지나면 크론잡이 실행되지 않도록한다.

.spec.concurrencyPolicy : 크론잡이 실행하는 잡의 동시성을 관리한다. Allow, Forbid, Replace 값을 설정할 수 있다.

.spec.successfulJobsHistoryLimit : 잡이 정상적으로 종료됬을 때 남기는 로그를 몇개까지 저장할지 설정한다.

.spec.failedJobsHistoryLimit : 잡이 비정상적으로 종료됬을 때 남기는 로그를 몇개까지 저장할지 설정한다.

 

 

 

concurrencyPolicy

Allow : 크론잡이 여러개 잡을 동시에 실행할 수 있도록 한다.

Forbid : 잡을 동시에 실행하지 않게한다.

Replace : 새로운 잡을 실행할 때 기존의 잡이 있다면 이를 종료시키고 새로운 잡으로 대체한다.