CKA — 쿠버네티스 관리자 · Kustomize, 리소스 사용량, CoreDNS · 퀴즈
퀴즈: Kustomize, 리소스 사용량, CoreDNS
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
Kustomize 의 base 와 overlay 관계를 가장 정확히 설명한 것은?
- overlay 가 base 를 참조하고, base 는 overlay 의 존재를 모르므로 한 base 를 여러 overlay 가 함께 쓸 수 있다
- base 가 overlay 목록을 가지고 있어서 어느 환경에 배포될지 base 에서 정한다
- base 와 overlay 는 서로를 참조해야 하며 하나의 base 는 하나의 overlay 에만 붙는다
- overlay 는 base 의 복사본이라 base 를 고쳐도 overlay 에는 반영되지 않는다
kustomization.yaml 의 patches 필드가 지원하는 두 가지 패치 방식은?
- Helm 템플릿 값 치환과 환경 변수 치환
- StrategicMerge 패치와 Json6902 패치
- kubectl edit 로 만든 diff 와 git 패치 파일
- ConfigMap 생성기와 Secret 생성기
새로 만든 클러스터에서 kubectl top nodes 가 "Metrics API not available" 로 실패한다. 가장 정확한 원인은?
- kubelet 이 cAdvisor 를 포함하지 않아 노드 사용량을 수집하지 못하기 때문
- kubectl 이 노드에 SSH 로 접속할 권한이 없기 때문
- Metrics API 를 제공하는 metrics-server(또는 대체 어댑터)가 기본 설치에 없기 때문
- HPA 가 아직 하나도 만들어지지 않아 Metrics API 가 비활성 상태이기 때문
metrics-server v0.6.0 이상이 노드에서 리소스 메트릭을 읽어 오는 곳은?
- 각 파드 안의 /proc 파일 시스템을 직접 마운트해서 읽는다
- kube-apiserver 의 감사 로그에서 사용량 항목을 파싱한다
- etcd 에 저장된 노드 오브젝트의 status 필드를 읽는다
- 각 노드 kubelet 의 /metrics/resource 엔드포인트를 15초마다 긁는다
파드 스펙에 dnsPolicy 를 적지 않았을 때 적용되는 값은?
- ClusterFirst — 클러스터 도메인이 아닌 질의만 업스트림으로 전달한다
- Default — 노드의 이름 해석 설정을 그대로 물려받는다
- None — dnsConfig 로 지정한 값만 쓴다
- ClusterFirstWithHostNet — 호스트 네트워크 여부와 관계없이 클러스터 DNS 를 쓴다
CoreDNS 파드는 Running 이고 kube-dns Service 도 있는데 로그에 SERVFAIL 응답이 반복된다. 공식 디버깅 문서가 먼저 확인하라고 하는 것은?
- 노드의 swap 이 켜져 있어 CoreDNS 가 메모리를 확보하지 못하는지
- kube-proxy 의 프록시 모드가 iptables 인지 ipvs 인지
- 파드의 dnsPolicy 가 None 으로 설정되어 있는지
- system:coredns ClusterRole 에 endpointslices 의 list·watch 권한이 있는지