CAPA — Argo 프로젝트 인증 어소시에이트 · Argo Rollouts 점진적 배포 · 퀴즈
퀴즈: Argo Rollouts
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
Deployment 의 RollingUpdate 대신 Rollout 이 필요한 근본적 이유는?
- RollingUpdate 는 파드를 한 번에 하나씩만 교체할 수 있다
- Deployment 는 ReplicaSet 을 남기지 않아 되돌릴 수 없다
- RollingUpdate 는 새 파드가 Ready 인지만 보고, 응답 성공률이나 지연 같은 지표를 근거로 멈추거나 되돌릴 방법이 없다
- Deployment 로는 레플리카를 4개 이상 둘 수 없다
카나리 steps 에서 duration 을 주지 않은 pause 의 의미는?
- 1초 대기 후 자동으로 진행한다
- 해당 스텝을 건너뛴다
- AnalysisRun 이 끝날 때까지 멈춘다
- 사람이 promote 할 때까지 무한히 멈춘다
AnalysisTemplate 의 failureLimit 이 하는 일은?
- successCondition 을 몇 번까지 못 맞춰도 롤아웃을 계속할지 정한다
- 지표 측정 간격을 정한다
- 롤아웃을 되돌릴 때까지 대기하는 시간을 정한다
- 카나리에 보낼 최대 트래픽 비율을 정한다
블루그린 전략에서 scaleDownDelaySeconds 를 0 이 아닌 값으로 두는 이유는?
- 승격 직후 문제가 발견됐을 때 옛 버전 파드가 아직 살아 있어야 즉시 되돌릴 수 있기 때문
- 새 버전 파드가 뜨는 데 시간이 걸리기 때문
- previewService 를 만드는 데 시간이 걸리기 때문
- 쿠버네티스가 서비스 셀렉터 변경을 반영하는 데 최소 60초가 걸리기 때문
Rollout 이 정확한 트래픽 비율을 제어하려면 trafficRouting 설정과 함께 무엇이 필요한가?
- AnalysisTemplate 을 하나 붙이는 것으로 충분하다
- canaryService 와 stableService 두 서비스. 컨트롤러가 이 둘의 셀렉터를 조작해 파드 집합을 가른다
- PodDisruptionBudget
- HorizontalPodAutoscaler
Deployment 를 nginx:1.28 로 올렸다가 rollout undo 로 되돌렸다. 리비전 번호는 어떻게 되는가?
- 1로 초기화된다
- 되돌리기도 새 리비전으로 기록되어 3이 된다
- 이전 값인 1로 돌아간다
- 변하지 않고 2로 유지된다