2026. 2. 22. 13:13ㆍk8s
CKAD 시험에서 Job 문제는 거의 반드시 등장합니다.
단순 개념 문제가 아니라, 시간 내 정확하게 YAML을 작성할 수 있느냐가 핵심입니다.
이 글에서는 CKAD에서 자주 나오는 Job 유형과 함정 포인트를 정리합니다.
1️⃣ Kubernetes Job이란?
Job은 한 번 실행하고 종료되는 작업(배치 작업) 을 수행하는 리소스입니다.
대표적인 사용 예:
- 데이터 마이그레이션
- 스크립트 실행
- 배치 작업
- 일회성 처리 작업
Deployment와 달리, Job은 완료(completed)되면 종료됩니다.
2️⃣ CKAD에서 자주 나오는 Job 요구사항
시험에서 자주 등장하는 요구사항:
- 특정 namespace에 Job 생성
- 특정 이미지 사용
- 특정 command 실행
- 총 실행 횟수 지정
- 병렬 실행 개수 지정
- Pod에 label 추가
- 재시도 제한(backoffLimit) 설정
- 실행 시간 제한(activeDeadlineSeconds) 설정
3️⃣ 기본 Job YAML 구조 (시험용 템플릿)
apiVersion: batch/v1
kind: Job
metadata:
name: example-job
namespace: default
spec:
completions: 3
parallelism: 2
backoffLimit: 4
template:
metadata:
labels:
app: example
spec:
containers:
- name: example-container
image: busybox:1.28
command:
- /bin/sh
- -c
- sleep 2; echo done
restartPolicy: Never
4️⃣ 시험에서 가장 많이 틀리는 개념
🔥 ① completions vs parallelism
| 항목 | 의미 |
|---|---|
| completions | 총 몇 번 성공해야 Job 완료 |
| parallelism | 동시에 실행할 Pod 개수 |
예시:
completions: 3
parallelism: 2
실행 흐름:
- 처음 2개 실행
- 완료되면 마지막 1개 실행
- 총 3개 완료 시 Job 종료
👉 이 차이를 모르면 시험에서 시간 날립니다.
🔥 ② restartPolicy 필수
Job에서는 반드시:
restartPolicy: Never
또는
restartPolicy: OnFailure
❌ Always는 사용 불가
🔥 ③ Pod 라벨 위치 실수
❌ 이렇게 쓰면 틀림
metadata:
labels:
id: awesome-job
이건 Job 라벨입니다.
✔ Pod에 붙이려면 반드시:
spec:
template:
metadata:
labels:
id: awesome-job
🔥 ④ command 작성 실수
문제에서 이런 요구가 나옵니다:
sleep 2 && echo done 실행하라
정답:
command:
- /bin/sh
- -c
- sleep 2; echo done
❌ 이렇게 하면 안 됩니다:
command: ["sleep", "2", "&&", "echo", "done"]
이유:&&는 shell 문법이기 때문에 /bin/sh -c가 필요합니다.
5️⃣ Imperative 방식으로 빠르게 생성하는 방법
시험에서는 속도가 중요합니다.
1️⃣ YAML 뼈대 생성
kubectl create job my-job \
--image=busybox:1.28 \
--dry-run=client -o yaml > job.yaml
2️⃣ YAML 수정
- namespace 추가
- completions 추가
- parallelism 추가
- command 수정
- labels 추가
3️⃣ 적용
kubectl apply -f job.yaml
6️⃣ Job 확인 방법 (시험에서 필수)
kubectl get jobs -n <namespace>
kubectl get pods -n <namespace>
kubectl describe job <job-name> -n <namespace>
확인 포인트:
- COMPLETIONS 값
- Pod 생성 개수
- 성공 여부
7️⃣ 시험에서 자주 나오는 추가 옵션
✔ backoffLimit
실패 시 재시도 횟수
backoffLimit: 2
✔ activeDeadlineSeconds
최대 실행 시간 제한
activeDeadlineSeconds: 30
30초 넘으면 Job 강제 종료
8️⃣ CKAD 시험 전략
Job 문제 나오면 반드시 체크:
✅ namespace 확인
✅ completions 확인
✅ parallelism 확인
✅ command 형식 확인
✅ labels 위치 확인
✅ restartPolicy 확인
이 6개만 점검해도 대부분 정답입니다.
🎯 마무리
CKAD 시험에서 Job은 단순해 보이지만
parallelism, completions, command 구조에서 실수가 많이 발생합니다.
핵심은:
빠르게 YAML 생성 → 요구사항 정확히 반영 → 즉시 검증
충분히 연습하면 Job 문제는 득점 포인트가 됩니다.
'k8s' 카테고리의 다른 글
| 🚀 CKAD 시험에서 가장 많이 나오는 내용 정리 (합격용 핵심 요약) (0) | 2026.02.22 |
|---|---|
| 🔐 Kubernetes NetworkPolicy에서 policyTypes 완전 이해하기 (0) | 2026.02.22 |
| # 💾 Kubernetes PV와 PVC 완전 정리 (0) | 2026.02.22 |
| 🧠 Pod 안에서 kubectl 대신 API 호출하기 (0) | 2026.02.22 |
| 🔐 Kubernetes NetworkPolicy 완전 정리 (0) | 2026.02.22 |