Rollback은 시스템이나 애플리케이션에 대한 업데이트 또는 변경 사항을 이전 버전으로 되돌리는 과정입니다.
Kubernetes에서 rollback을 수행하기 위해 kubectl rollout undo 명령을 사용할 수 있습니다. 다음은 그 방법입니다:
- 배포의 이전 버전으로 롤백하려면 다음 명령을 실행하면 됩니다
- 특정 리비전으로 롤백하려면 명령에 리비전 번호를 지정할 수 있습니다
- 각 리비전에서 어떤 변경 사항이 있는지 확실하지 않은 경우 kubectl rollout history 명령을 사용하여 롤아웃 기록을 확인할 수 있습니다
kubectl rollout undo deployment <deployment-name> # 1
kubectl rollout undo deployment <deployment-name> --to-revision=<revision-number> # 2
kubectl rollout history deployment <deployment-name> # 3
Google Cloud Console에는 직접 롤백 기능이 없지만, Cloud Shell을 사용하여 위에서 언급한 kubectl 명령을 실행할 수 있습니다.
Rollout은 Kubernetes에서 애플리케이션의 업데이트를 관리하는 방법입니다. 업데이트를 수행할 때, rollout은 새로운 버전의 애플리케이션을 배포하고 이전 버전을 대체하는 과정을 의미합니다. rollout을 통해 애플리케이션을 안정적으로 업데이트하고 롤백할 수 있습니다.
rollout을 수행하는 동안 다음과 같은 작업을 수행할 수 있습니다:
- Pause: rollout을 일시 중지하여 업데이트를 일시적으로 중단할 수 있습니다. 이는 작은 수정 사항이 자주 릴리스되는 환경에서 특히 유용합니다. kubectl rollout pause 명령을 사용하여 rollout을 일시 중지할 수 있습니다.
- Resume: rollout을 다시 시작하여 중지된 업데이트를 재개할 수 있습니다. kubectl rollout resume 명령을 사용하여 rollout을 재개할 수 있습니다.
- Status: rollout의 상태를 모니터링할 수 있습니다. kubectl rollout status 명령을 사용하여 rollout의 상태를 확인할 수 있습니다.
- Delete: rollout이 완료된 후에는 해당 배포를 삭제할 수 있습니다. kubectl delete 명령을 사용하여 배포를 삭제할 수 있습니다.
kubectl rollout pause deployment [deployment-name] # rollout 일시 정지
kubectl rollout status deployment [deployment-name] # rollout status 확인
kubectl rollout resume deployment [deployment-name] # rollout resume
kubectl delete deployment [deployment-name] # deployment 삭제
rollout을 사용하여 애플리케이션을 업데이트하고 관리하는 방법에 대한 자세한 내용은 "Kubernetes Operations" 모듈에서 배울 수 있습니다.
'CLOUD & MLOPS' 카테고리의 다른 글
| [Kubernetes] 중요 용어 이해하기(클러스터, 노드, 파드, 서비스, 디플로이먼트, 네임스페이스, 볼륨 등) (0) | 2024.05.01 |
|---|---|
| [Kubernetes]Rolling Updates (0) | 2024.04.29 |
| [Kubernetes]HPA(Horizontal Pod Autoscaler) vs VPA(Vertical Pod Autoscaler) - 워크로드 스케일링 (1) | 2024.04.29 |
| [Kubernetes] GCP Kubernetes Engine Clusters and Node 생성 및 업그레이드 (1) | 2024.04.29 |
| [DOCKER] 우분트에서 도커 설치(Install Docker Engine on Ubuntu) (1) | 2024.04.25 |