CAPA — Argo 프로젝트 인증 어소시에이트 · 진짜 클러스터에서 확인하기 · 실습
카나리가 실제로 굴러가는 것을 본다
이 실습은 진짜 Argo Rollouts 에서 돕니다
VM 안에 Rollouts 컨트롤러가 실제로 떠 있습니다. 파드가 진짜로 뜨고,
분석이 Job 을 띄워 판정하고, 실패하면 실제로 되돌아갑니다.
앞 모듈의 Rollouts 실습은 가짜 클러스터에서 돌았습니다. 파드가 뜨지 않으니
카나리가 몇 퍼센트인지 볼 수 없고, 무엇보다 분석이 돌지 않았습니다 —
분석은 Job 을 띄워 그 결과로 판정하는데 Job 이 돌지 않으니 판정 자체가
없습니다. 자동 롤백은 CAPA 의 핵심인데 그것이 통째로 빠져 있었습니다.
처음 뜨는 데 3분쯤 걸립니다.
준비된 것
네임스페이스 demo컨트롤러 argo-rollouts 네임스페이스CLI kubectl argo rollouts미리 받은 이미지 argoproj/rollouts-demo 의 blue · yellow · red, busybox:1.36목표
카나리부터 자동 롤백까지, 실제로 굴려서 확인합니다.
단계
1. Rollout 을 만들고 첫 배포가 어떻게 다른지 /root/capa/first.txt 에 담으세요.
2. 이미지를 바꿔 카나리가 실제 파드 수로 나타나는 것을 /root/capa/canary.txt 에 담으세요.
3. 멈춘 것을 진행시키고 그 기록을 /root/capa/promote.txt 에 담으세요.
4. 성공하는 분석을 붙여 통과하는 것을 /root/capa/analysis.txt 에 담으세요.
5. 실패하는 분석으로 자동 롤백을 일으켜 /root/capa/rollback.txt 에 담으세요.
6. abort 와 undo 의 차이를 /root/capa/abort.txt 에 담으세요.
7. 블루그린으로 두 판이 동시에 도는 것을 /root/capa/bluegreen.txt 에 담으세요.
8. /root/capa/report.md 에 canary_pods=, auto_rollback=yes, bluegreen_paused=yes 세 줄과 설명을 쓰세요.
참고
- 상태는
kubectl argo rollouts -n demo get rollout <이름>으로 봅니다.kubectl get rollout으로는 거의 안 보입니다. - 이미지 교체는
kubectl argo rollouts -n demo set image <이름> demo=<이미지>입니다. - 단계 하나에 90초가 있습니다.
pause는 무기한으로 두고promote로 넘기는 편이 시간을 아낍니다. - 흔한 실수: 첫 배포에서 카나리를 기대하는 것. 비교할 안정 판이 없으므로 단계를 건너뜁니다.
- 흔한 실수: 롤백됐으니
spec도 돌아갔을 거라 믿는 것. 스펙은 그대로입니다.
단계 8개
- 첫 배포는 카나리를 건너뛴다
- 25% 는 파드 몇 개인가
- 멈춘 것을 넘긴다
- 사람 대신 판정하게 한다
- 실패하면 저절로 되돌아간다
- abort 와 undo 는 다르다
- 두 판이 동시에 돈다
- 무엇을 배웠나