다음의 조건으로 실행하는 컨테이너를 실행하십시오.
/data/ckad/sample.yaml manifest 파일에 pod가 정의되어 있다.busybox:stable 컨테이너가 매분마다 실행되어야 한다.hello여야 한다.hello 컨테이너가 성공적으로 실행되었는지 확인하십시오.# CronJob 템플릿을 생성합니다.
$ kubectl create cronjob hello --image=busybox:stable --schedule="* * * * *" --dry-run=client -o yaml > /data/ckad/sample.yaml
# sample.yaml 파일을 엽니다.
$ vi /data/ckad/sample.yaml
# CronJob을 적용합니다.
$ kubectl apply -f /data/ckad/sample.yaml
# CronJobs 목록을 확인합니다.
$ kubectl get cronjobs.batch
# Pods 목록을 확인합니다.
$ kubectl get pods
apiVersion: batch/v1
kind: CronJob
metadata:
name: hello
spec:
schedule: "* * * * *" # 매분마다 실행되도록 설정
jobTemplate:
spec:
activeDeadlineSeconds: 10 # 10초 내에 완료되도록 설정
template:
spec:
containers:
- name: hello # 컨테이너 이름 설정
image: busybox:stable # busybox:stable 이미지 사용
command:
- sleep
- "5" # 5초 동안 대기
restartPolicy: Never
CronJob 템플릿 생성
$ kubectl create cronjob hello --image=busybox:stable --schedule="* * * * *" --dry-run=client -o yaml > /data/ckad/sample.yaml
kubectl create cronjob 명령어를 사용하여 hello CronJob 템플릿을 생성합니다.--dry-run=client -o yaml 옵션을 사용하여 실제 적용 없이 yaml 파일을 생성합니다./data/ckad/sample.yaml 파일에 저장됩니다.sample.yaml 파일 수정
$ vi /data/ckad/sample.yaml
vi /data/ckad/sample.yaml 명령어로 sample.yaml 파일을 엽니다.apiVersion: batch/v1
kind: CronJob
metadata:
name: hello
spec:
schedule: "* * * * *"
jobTemplate:
spec:
activeDeadlineSeconds: 10
template:
spec:
containers:
- name: hello
image: busybox:stable
command:
- sleep
- "5"
restartPolicy: Never
apiVersion, kind, metadata, spec 등의 필드를 사용하여 cronjob을 정의합니다.schedule 필드를 * * * * *로 설정하여 매분마다 실행되도록 합니다.activeDeadlineSeconds 필드를 10으로 설정하여 10초 내에 완료되도록 합니다.containers 필드에서 컨테이너 이름을 hello로 설정하고, busybox:stable 이미지를 사용합니다.command 필드에서 sleep 5 명령어를 사용하여 5초 동안 대기하도록 설정합니다.restartPolicy 필드를 Never로 설정하여 작업이 실패하지 않도록 합니다.CronJob 적용
$ kubectl apply -f /data/ckad/sample.yaml
kubectl apply -f /data/ckad/sample.yaml 명령어로 sample.yaml 파일의 내용을 적용합니다.CronJobs 목록 확인
$ kubectl get cronjobs.batch
kubectl get cronjobs.batch 명령어로 현재 클러스터에 설정된 cronjobs 목록을 확인합니다.Pods 목록 확인
$ kubectl get pods
kubectl get pods 명령어로 현재 클러스터에서 실행 중인 pods 목록을 확인합니다.