LabHub

CKA — 쿠버네티스 관리자 · 워크로드와 스케줄링 · 퀴즈

퀴즈: 워크로드와 스케줄링

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. replicas 가 4이고 maxSurge 2, maxUnavailable 0 인 Deployment 를 롤링 업데이트할 때 파드 수의 범위는?

    1. 최대 6개, 최소 4개
    2. 최대 4개, 최소 2개
    3. 최대 6개, 최소 2개
    4. 최대 4개, 최소 4개 (파드 수가 전혀 변하지 않는다)
  2. 단일 노드 클러스터에서 CoreDNS 는 정상인데 새로 설치한 Deployment 만 Pending 이고 'untolerated taint' 메시지가 보인다. 원인은?

    1. Deployment 는 DaemonSet 과 달리 노드를 고를 수 없기 때문
    2. 그 Deployment 의 이미지를 받지 못했기 때문
    3. CNI 가 아직 준비되지 않아 파드 네트워크를 배정할 수 없기 때문
    4. 컨트롤 플레인 노드의 NoSchedule 테인트를 CoreDNS 는 기본 톨러레이션으로 견디지만 그 Deployment 는 견디지 못하기 때문
  3. rollout undo 로 이전 버전으로 돌아갈 수 있는 진짜 이유는?

    1. Deployment 오브젝트 안에 이전 파드 스펙이 통째로 보관되기 때문
    2. revisionHistoryLimit 개수만큼 이전 ReplicaSet 이 레플리카 0 으로 남아 있고, undo 는 그것을 다시 키우기 때문
    3. etcd 가 모든 리비전을 영구히 보관하기 때문
    4. kubectl 이 로컬 캐시에 이전 매니페스트를 저장하기 때문
  4. StatefulSet 이 Deployment 와 근본적으로 다른 점을 가장 정확히 말한 것은?

    1. 파드가 언제나 처음 떴던 같은 노드에 다시 뜬다
    2. 롤링 업데이트를 지원하지 않는다
    3. 파드 이름이 서수로 고정되고 생성·삭제 순서가 보장되며 파드마다 자기 PVC 를 갖는다
    4. 레플리카를 0 으로 줄일 수 없다
  5. 32GB VRAM 이 필요한 학습 파드가 8GB GPU 노드에 배치되는 사고를 막는 가장 적절한 방법은?

    1. 확장 자원은 개수만 표현하므로, 체급을 나타내는 노드 라벨을 붙이고 nodeSelector 나 노드 어피니티로 고르게 한다
    2. device plugin 을 재시작해 GPU 메모리를 다시 인식시킨다
    3. resources.limits 대신 requests 에 nvidia.com/gpu 를 적는다
    4. GPU Operator 를 최신 버전으로 올린다
  6. topologySpreadConstraints 의 whenUnsatisfiable 두 값의 차이는?

    1. DoNotSchedule 은 기존 파드를 삭제하고 ScheduleAnyway 는 유지한다
    2. DoNotSchedule 은 maxSkew 를 못 지키면 파드를 Pending 으로 두고, ScheduleAnyway 는 점수만 깎고 배치한다
    3. 둘은 동작이 같고 이름만 다르다
    4. ScheduleAnyway 는 maxSkew 값을 아예 무시한다