LabHub

CKAD — 쿠버네티스 애플리케이션 개발자 · 애플리케이션 배포 · 퀴즈

퀴즈: 애플리케이션 배포

LabHub 에서 이어서 보기

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

  1. 레플리카 4인 Deployment 에 `maxSurge: 1`, `maxUnavailable: 0` 을 주고 이미지를 바꿨다. 롤아웃 중 파드 개수의 범위는?

    1. 최소 0개, 최대 8개
    2. 최소 4개, 최대 5개
    3. 최소 3개, 최대 4개
    4. 최소 4개, 최대 4개 (개수가 변하지 않는다)
  2. 리비전이 3까지 쌓인 Deployment 에 `kubectl rollout undo --to-revision=1` 을 실행했다. 그 뒤 상태로 옳은 것은?

    1. 리비전 1의 파드 템플릿이 적용된 새 리비전 4가 생긴다
    2. 되돌리기는 직전 리비전으로만 가능하므로 명령이 거부된다
    3. 리비전이 1로 되돌아가고 2, 3은 삭제된다
    4. 리비전 번호는 3 그대로이고 이미지만 바뀐다
  3. `kubectl rollout history` 의 CHANGE-CAUSE 열을 채우는 올바른 방법은?

    1. Deployment 에 `kubernetes.io/change-cause` 라벨을 설정한다
    2. Deployment 에 `kubernetes.io/change-cause` 애너테이션을 설정한다
    3. `kubectl set image` 에 `--record` 를 붙인다
    4. `kubectl rollout history` 에 `--reason` 을 넘긴다
  4. `helm upgrade` 를 `--reuse-values` 없이 `--set foo=bar` 만으로 실행하면 무슨 일이 벌어지는가?

    1. 이전 values 와 새 values 를 자동으로 3-way 병합해 준다
    2. 이전 리비전의 값이 그대로 유지되고 foo 만 추가로 덮어써진다
    3. 이전 리비전의 사용자 지정 값이 버려지고 차트 기본값 위에 foo 만 얹힌다
    4. 값이 하나라도 빠지면 업그레이드가 거부된다
  5. `helm rollback my-release 2` 가 실제로 하는 일은?

    1. 리비전 2의 차트와 values 를 기반으로 새 리비전을 만들어 적용한다
    2. 클러스터 리소스를 리비전 2 시점의 스냅샷으로 복원하고 히스토리는 남기지 않는다
    3. 리비전 3 이후를 삭제하고 릴리스 히스토리를 리비전 2 상태로 자른다
    4. 리비전 2를 deployed 로 표시만 바꾸고 클러스터는 건드리지 않는다
  6. base 에 Deployment `report` 가 있고, overlay 에 `namePrefix: prod-` 와 공통 라벨 `env: prod` 를 주었다. `kubectl kustomize <overlay>` 결과로 옳은 것은?

    1. 이름이 `prod-report` 가 되고 Deployment 와 파드 템플릿 모두에 `env: prod` 라벨이 붙는다
    2. base 가 그대로 출력되고 overlay 는 apply 시점에만 적용된다
    3. 이름은 `report` 그대로이고 라벨만 붙는다
    4. 이름이 `report-prod` 가 되고 라벨은 Deployment 에만 붙는다