KCNA — 쿠버네티스·클라우드 네이티브 입문 · 컨테이너 오케스트레이션과 워크로드 · 퀴즈
퀴즈: 컨테이너 오케스트레이션과 워크로드
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
파드 안의 컨테이너들이 공유하는 것으로 올바른 조합은?
- 파일시스템 루트와 프로세스 목록
- CPU cgroup 상한과 컨테이너 이미지
- 네트워크 네임스페이스(IP·포트 공간)와 지정된 볼륨
- 모든 리눅스 namespace 를 예외 없이 전부
한 번 실행되고 끝나는 데이터 마이그레이션 작업을 Deployment 로 배포하면 무슨 일이 벌어지는가?
- 컨테이너가 종료될 때마다 재시작되어 같은 작업이 반복 실행되고 CrashLoopBackOff 처럼 보인다
- 작업이 한 번 완료되고 Deployment 가 자동으로 Completed 상태가 된다
- apiserver 가 워크로드 종류를 검증해 생성을 거부한다
- 스케줄러가 자동으로 Job 으로 변환해 준다
DaemonSet 에 replicas 필드가 없는 이유는?
- DaemonSet 은 항상 파드를 1개만 만들기 때문
- DaemonSet 은 스케줄러를 쓰지 않아 개수 개념이 없기 때문
- replicas 는 spec 이 아니라 status 에만 존재하기 때문
- 개수를 사람이 정하는 것이 아니라 대상 노드 수가 곧 파드 수이기 때문
Deployment 를 롤아웃한 뒤 ReplicaSet 이 여러 개 남아 있는 이유는?
- 이전 리비전의 ReplicaSet 을 보관해 두어야 rollout undo 로 되돌릴 수 있기 때문
- 가비지 컬렉션 버그로 정리되지 않은 것이다
- ReplicaSet 은 노드마다 하나씩 만들어지기 때문
- 각 ReplicaSet 이 서로 다른 네임스페이스를 담당하기 때문
livenessProbe 와 readinessProbe 의 차이로 올바른 것은?
- liveness 는 시작 시에만, readiness 는 종료 시에만 평가된다
- liveness 는 노드가, readiness 는 스케줄러가 평가한다
- liveness 실패는 컨테이너를 재시작하고, readiness 실패는 Service 엔드포인트에서 제외한다
- 둘은 이름만 다르고 동작은 동일하다
Deployment 의 파드 하나를 삭제했을 때 실제로 일어나는 일은?
- 같은 이름의 파드가 같은 노드에 복원된다
- ReplicaSet 컨트롤러가 개수 차이를 감지해 새 이름의 파드를 새로 만든다
- Deployment 전체가 롤아웃을 다시 시작한다
- kubelet 이 로컬 캐시에서 파드를 되살린다