LabHub

CKAD — 쿠버네티스 애플리케이션 개발자 · 진짜 클러스터에서 확인하기 · 실습

애플리케이션이 실제로 사는 모습을 본다

LabHub 에서 이어서 보기

이 실습은 애플리케이션이 실제로 도는 클러스터에서 합니다

VM 안에 진짜 k3s 가 떠 있습니다. kubelet 이 프로브를 실제로 돌리고, Job 이
실제로 완료되며, ConfigMap 이 실제로 마운트됩니다.

CKAD 과정의 다른 실습이 도는 가짜 클러스터에서는 **이 중 어느 것도 일어나지
않습니다.** 프로브를 걸어도 돌지 않고, Job 을 만들어도 완료되지 않습니다.

처음 뜨는 데 2분쯤 걸립니다.

목표

프로브 세 가지, Job 과 CronJob, QoS, 설정 주입을 동작으로 확인합니다.

왜 중요한가

CKAD 에서 자주 틀리는 것들은 문법이 아니라 동작의 차이입니다.

단계

모든 것은 ckad 네임스페이스에 만듭니다.

1. slow-start — 기동이 20초쯤 걸리는 컨테이너에 짧은 livenessProbestartupProbe 를 함께 걸어, 재시작 없이 준비되는 것을 /root/ckad/startup.txt 에 담으세요.
2. api Deployment(레플리카 3)와 Service 를 만들되 한 파드만 readiness 가 실패하게 하고, 엔드포인트에서 빠지는 것을 /root/ckad/endpoints.txt 에 담으세요.
3. batch Job(completions: 3, parallelism 지정)이 실제로 완료되는 것을 /root/ckad/job.txt 에 담으세요.
4. doomed Job 이 backoffLimit 을 다 쓰고 Failed 가 되는 것을 /root/ckad/backoff.txt 에 담으세요.
5. tick CronJob 을 만들어 실제로 한 번 이상 돌게 하고 /root/ckad/cronjob.txt 에 담으세요. concurrencyPolicy 도 정합니다.
6. qos-guaranteed·qos-burstable·qos-besteffort 세 파드로 QoS 등급 셋을 만들어 /root/ckad/qos.txt 에 담으세요.
7. cfg-pod 로 ConfigMap 을 볼륨과 환경변수 둘 다 주입하고, 파드 안에서 어떻게 보이는지를 /root/ckad/config.txt 에 담으세요.
8. /root/ckad/report.mdstartup_restarts=, job_completions=, evicted_first= 세 줄과 설명을 쓰세요.

참고

단계 8개

  1. 기동이 느릴 때
  2. 준비되지 않은 파드는 빠진다
  3. completions 와 parallelism
  4. 잡은 언제 포기하는가
  5. 실행이 겹칠 때
  6. 자원이 모자랄 때 누가 먼저 쫓겨나나
  7. 볼륨과 환경변수는 다르다
  8. 무엇을 배웠나