クイズ: アプリケーションのデプロイ
한국어 원문으로 표시합니다.
레플리카 4인 Deployment 에 maxSurge: 1, maxUnavailable: 0 을 주고 이미지를 바꿨다. 롤아웃 중 파드 개수의 범위는?
- 최소 0개, 최대 8개
- 최소 4개, 최대 5개
- 최소 3개, 최대 4개
- 최소 4개, 최대 4개 (개수가 변하지 않는다)
리비전이 3까지 쌓인 Deployment 에 kubectl rollout undo --to-revision=1 을 실행했다. 그 뒤 상태로 옳은 것은?
- 리비전 1의 파드 템플릿이 적용된 새 리비전 4가 생긴다
- 되돌리기는 직전 리비전으로만 가능하므로 명령이 거부된다
- 리비전이 1로 되돌아가고 2, 3은 삭제된다
- 리비전 번호는 3 그대로이고 이미지만 바뀐다
kubectl rollout history 의 CHANGE-CAUSE 열을 채우는 올바른 방법은?
- Deployment 에
kubernetes.io/change-cause라벨을 설정한다 - Deployment 에
kubernetes.io/change-cause애너테이션을 설정한다 kubectl set image에--record를 붙인다kubectl rollout history에--reason을 넘긴다
helm upgrade 를 --reuse-values 없이 --set foo=bar 만으로 실행하면 무슨 일이 벌어지는가?
- 이전 values 와 새 values 를 자동으로 3-way 병합해 준다
- 이전 리비전의 값이 그대로 유지되고 foo 만 추가로 덮어써진다
- 이전 리비전의 사용자 지정 값이 버려지고 차트 기본값 위에 foo 만 얹힌다
- 값이 하나라도 빠지면 업그레이드가 거부된다
helm rollback my-release 2 가 실제로 하는 일은?
- 리비전 2의 차트와 values 를 기반으로 새 리비전을 만들어 적용한다
- 클러스터 리소스를 리비전 2 시점의 스냅샷으로 복원하고 히스토리는 남기지 않는다
- 리비전 3 이후를 삭제하고 릴리스 히스토리를 리비전 2 상태로 자른다
- 리비전 2를 deployed 로 표시만 바꾸고 클러스터는 건드리지 않는다
base 에 Deployment report 가 있고, overlay 에 namePrefix: prod- 와 공통 라벨 env: prod 를 주었다. kubectl kustomize <overlay> 결과로 옳은 것은?
- 이름이
prod-report가 되고 Deployment 와 파드 템플릿 모두에env: prod라벨이 붙는다 - base 가 그대로 출력되고 overlay 는 apply 시점에만 적용된다
- 이름은
report그대로이고 라벨만 붙는다 - 이름이
report-prod가 되고 라벨은 Deployment 에만 붙는다