4.2.3. cron 작업 생성
작업 오브젝트를 생성하여 OpenShift Container Platform에서 cron 작업을 생성합니다.
프로세스
cron 작업을 생성하려면 다음을 수행합니다.
다음과 유사한 YAML 파일을 생성합니다.
apiVersion: batch/v1beta1 kind: CronJob metadata: name: pi spec: schedule: "*/1 * * * *" 1 concurrencyPolicy: "Replace" 2 startingDeadlineSeconds: 200 3 suspend: true 4 successfulJobsHistoryLimit: 3 5 failedJobsHistoryLimit: 1 6 jobTemplate: 7 spec: template: metadata: labels: 8 parent: "cronjobpi" spec: containers: - name: pi image: perl command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"] restartPolicy: OnFailure 9
- 1 1
- cron 형식에 지정된 작업의 스케줄입니다. 이 예제에서는 작업은 분마다 실행됩니다.
- 2 2
- cron 작업 내의 동시 작업 처리 방법을 지정하는 선택적 동시성 정책입니다. 다음 동시성 정책 중 하나만 지정할 수 있습니다. 지정하지 않는 경우 기본값은 동시 실행을 허용하는 것입니다.
-
Allow
는 cron 작업이 동시에 실행되도록 허용합니다. -
Forbid
는 동시 실행을 금지하고 이전 실행이 아직 완료되지 않은 경우 다음 실행을 건너뜁니다. -
Replace
는 현재 실행 중인 작업을 취소하고 새 작업으로 교체합니다.
-
- 3 3
- 어떠한 이유로 예약된 시간을 놓치는 경우 작업을 시작하는 선택적 데드라인(초)입니다. 누락된 작업 실행은 실패한 작업으로 간주됩니다. 지정하지 않으면 데드라인이 없습니다.
- 4 4
- cron 작업의 중지를 허용하는 선택적 플래그입니다.
true
로 설정하면 이후의 모든 실행이 일시 중지됩니다. - 5 5
- 유지해야 하는 성공적으로 완료한 작업의 수입니다(기본값: 3).
- 6 6
- 유지해야 하는 실패한 작업의 수입니다(기본값: 1).
- 7
- 작업 템플릿입니다. 이 템플릿은 작업 예제와 유사합니다.
- 8
- 이 cron 작업에서 생성한 작업에 라벨을 설정합니다.
- 9
- Pod의 재시작 정책입니다. 이 정책은 작업 컨트롤러에 적용되지 않습니다.참고
.spec.successfulJobsHistoryLimit
및.spec.failedJobsHistoryLimit
필드는 선택 사항입니다. 해당 필드는 유지해야 하는 완료된 작업 수 및 실패한 작업 수를 지정합니다. 기본적으로 각각3
과1
로 설정됩니다. 제한을0
으로 설정하면 해당 종류의 작업을 완료한 후 작업을 유지하지 않습니다.
cron 작업을 생성합니다.
$ oc create -f <file-name>.yaml
oc create cronjob
을 사용하여 단일 명령으로 cron 작업을 생성하고 시작할 수도 있습니다. 다음 명령에서는 이전 예제에서 지정한 것과 유사한 cron 작업을 생성하고 시작합니다.
$ oc create cronjob pi --image=perl --schedule='*/1 * * * *' -- perl -Mbignum=bpi -wle 'print bpi(2000)'
oc create cronjob
을 사용하면 --schedule
옵션에서 cron 형식으로 된 일정을 수락합니다.