728x90
Recreate vs Rolling Update (default)
Recreate는 기존버전을 모두 종료한 후(다운타임 발생) 새 버전의 Pod를 생성하여 배포하는 반변, Rolling Update는 애플리케이션을 다운타임 없이 새 버전으로 점진적으로 업데이트하는 방법이다. 기존의 Pod를 하나씩 종료하고 새 버전의 Pod를 생성하면서 배포해, 전체 시스템의 가용성을 유지할 수 있다.
- 작동 방식
- 새 버전의 Pod를 하나씩 생성하고, 기존 버전의 Pod를 하나씩 삭제한다.
- 이 과정을 반복하여 모든 Pod가 새 버전으로 전환될 때까지 진행한다.
- 배포 중에 문제가 생기면 중간에 멈출 수 있고, 특정 시점부터 재개할 수 있다.
- 장점
- 서비스 다운타임 없이 업데이트할 수 있다.
- 대규모 애플리케이션에서도 사용자가 영향을 거의 받지 않는다.
kubectl create -f [deployment yaml file name]
## status
kubectl rollout status [resource name] [deployment name]
kubectl rollout history [deployment name]
# update
kubectl apply -f [deployment yaml file name]
# image update
kubectl set image [deployment name] \
[container name]=[container image]
Rollback
Rollback는 문제가 있는 애플리케이션 업데이트를 이전 상태로 되돌리는 작업이다. 만약 최신 배포에 문제가 생기면 쉽게 이전 버전으로 돌아갈 수 있다.
- 작동 방식
- 쿠버네티스는 이전 배포의 상태를 기록하고 있어서 문제가 생기면 rollback 명령어로 이전 버전으로 복구할 수 있다.
- 장점
- 배포 실패 시 신속하게 복구할 수 있다.
- 특정 버전으로 되돌릴 수 있어 장애를 최소화한다.
## rollback
kubectl rollout undo [deployment name]
728x90
반응형
'데브옵스 > Orchestration' 카테고리의 다른 글
[Kubernetes] 26. Environment Variables (0) | 2024.11.21 |
---|---|
[Kubernetes] 25. Command, Arguments + Dockerfile (0) | 2024.11.15 |
[Kubernetes] 23. Managing Application Logs (0) | 2024.11.13 |
[Kubernetes] 22. Monitoring (2) | 2024.11.12 |
[Kubernetes] 21. Scheduler Profiles (0) | 2024.11.11 |