🚀 CKAD 시험에서 가장 많이 나오는 내용 정리 (합격용 핵심 요약)

2026. 2. 22. 17:25k8s

CKAD는 개발자 관점의 Kubernetes 시험이다.

운영자(관리자) 시험이 아니라
👉 애플리케이션을 배포하고 수정하고 디버깅하는 능력을 평가한다.


🥇 1️⃣ Deployment / Pod (최다 출제 ⭐⭐⭐⭐⭐)

가장 많이 나온다.

📌 자주 나오는 유형

  • Deployment 생성
  • replicas 수정
  • 이미지 변경
  • 리소스(request/limit) 설정
  • rollout / rollback
  • ServiceAccount 지정

🔥 반드시 숙달

kubectl create deployment nginx --image=nginx
kubectl scale deploy nginx --replicas=3
kubectl set image deploy nginx nginx=nginx:1.25
kubectl rollout status deploy nginx
kubectl rollout undo deploy nginx

🔥 YAML에서 자주 수정하는 부분

spec:
  replicas: 3
  template:
    spec:
      serviceAccountName: my-sa
      containers:
      - name: app
        image: nginx
        resources:
          requests:
            memory: "20Mi"
          limits:
            memory: "50Mi"

👉 리소스 설정 문제 매우 자주 출제됨


🥈 2️⃣ ConfigMap / Secret (⭐⭐⭐⭐)

📌 출제 패턴

  • ConfigMap 생성
  • 파일로부터 생성
  • Pod에 마운트
  • env로 주입
  • 누락된 ConfigMap 때문에 Pod Crash → 디버깅

🔥 생성

kubectl create configmap my-config --from-file=index.html
kubectl create secret generic my-secret --from-literal=password=1234

🔥 Pod에서 사용

env:
- name: PASSWORD
  valueFrom:
    secretKeyRef:
      name: my-secret
      key: password

또는

volumes:
- name: config
  configMap:
    name: my-config

👉 "configmap not found" 디버깅 문제 자주 출제


🥉 3️⃣ Service (ClusterIP / NodePort) (⭐⭐⭐⭐)

📌 출제 패턴

  • Service 생성
  • selector 오타 수정
  • NodePort로 변경
  • Endpoint가 none → 원인 찾기

🔥 핵심 포인트

Service는 Pod 라벨과 정확히 일치해야 Endpoint 생성됨

kubectl expose deploy nginx --port=80 --target-port=8080

NodePort 변경:

spec:
  type: NodePort
  ports:
  - port: 80
    nodePort: 30100

👉 Endpoint none 문제 매우 자주 출제


🏅 4️⃣ NetworkPolicy (⭐⭐⭐)

  • Ingress 제한
  • Egress 제한
  • DNS 허용 (TCP/UDP 53)
  • 특정 label만 허용

시험에서 자주 나오는 포인트:

policyTypes:
- Egress

그리고 반드시 DNS 예외:

ports:
- protocol: UDP
  port: 53

👉 DNS 허용 안 하면 모든 통신 차단


🏅 5️⃣ Volumes / PVC (⭐⭐⭐)

  • PVC 생성
  • StorageClass 지정
  • Pending 원인 찾기
  • Sidecar와 Volume 공유

👉 PVC Pending = Provisioner 없음 문제 자주 출제


🏅 6️⃣ Init Container / Sidecar (⭐⭐⭐)

  • Init container로 파일 생성
  • Sidecar로 로그 tail -f
  • 동일 volume 공유

거의 매 시험 최소 1문제 이상 등장


🏅 7️⃣ Labels / Annotations (⭐⭐⭐)

  • 특정 label 가진 Pod만 수정
  • OR 조건 문제
  • annotation 추가
kubectl label pod -l type=worker protected=true
kubectl annotate pod -l protected=true note="do not delete"

🏅 8️⃣ Probes (⭐⭐⭐)

  • livenessProbe
  • readinessProbe
  • 잘못된 path 수정
livenessProbe:
  httpGet:
    path: /
    port: 80

Probe 오타 수정 문제 출제 빈도 높음


🏅 9️⃣ Resource Limits (⭐⭐⭐)

진짜 자주 나옴.

resources:
  requests:
    cpu: "100m"
    memory: "50Mi"
  limits:
    memory: "100Mi"

🏅 🔟 Imperative + YAML 수정 전략 (시험 핵심 ⭐⭐⭐⭐⭐)

시간 단축 전략:

kubectl create deployment test --image=nginx --dry-run=client -o yaml > test.yaml

→ 수정
kubectl apply -f test.yaml


📊 체감 출제 비율 (실전 기준)

주제 체감 비율
Deployment / Pod 30~35%
ConfigMap / Secret 15~20%
Service 10~15%
NetworkPolicy 10%
PVC / Volume 10%
Init/Sidecar 5~10%

🎯 CKAD 합격 핵심 정리

1️⃣ Deployment 완벽 숙달
2️⃣ Service selector 정확히 이해
3️⃣ ConfigMap 누락 디버깅 능력
4️⃣ NetworkPolicy DNS 예외 처리
5️⃣ resources / probes 작성 숙달


🏁 결론

CKAD는 이론 시험이 아니다.

👉 kubectl 숙련도 시험이다.

손이 빠르면 합격한다.