728x90
Argo Rollout을 Canary 전략으로 배포를 설명한다.
ArgoCD를 통 아래 Github url로 배포한다.
https://github.com/armyost/ArgoRollout
GitHub - armyost/ArgoRollout
Contribute to armyost/ArgoRollout development by creating an account on GitHub.
github.com
1차적으로 blue버전으로 rollout을 배포한다.
처음에는 파란색으로만 서비스가 된다.
두번째로 blue를 green 버전으로 변경한 'rollout-canary'를 ArgoCD에서 다시 'Sync'한다.
# AS-IS
spec:
containers:
- name: canary-rollouts-demo
image: argoproj/rollouts-demo:blue
imagePullPolicy: Always
ports:
- containerPort: 8080
# TO-BE
spec:
containers:
- name: canary-rollouts-demo
image: argoproj/rollouts-demo:green
그러면 확률적으로 25%의 Green 서비스가 보인다.
비중을 보면 거의 25% 쯤되겠다.
비중을 더 늘려 테스트를 하거나 테스트가 충분하다고 생각이 들면 Promote하여 완전히 Green 버전으로 서비스한다.
$ kubectl argo rollouts promote -n argo-sample-app rollout-canary
'PaaS > CI CD' 카테고리의 다른 글
Github Actions의 Workflow에서 GCP(Google Cloud Platform) 인증받기 (1) | 2023.12.07 |
---|---|
App of Apps 패턴으로 배포하기. 그리고 나의 생각 (0) | 2023.11.15 |
Argo Rollout으로 Blue/Green 배포하기 (0) | 2023.11.15 |
Blue / Green 배포의 라우팅 포인트를 어디로 가져가야 하는가? (0) | 2023.11.09 |
CI/CD에서 테스트가 매우 중요해지고 있다. (0) | 2023.11.09 |