본문 바로가기
INFRA/DevOps

[K8S] Rollout

by BTC_민물공원 2024. 1. 8.

베하~! BTC_녹차공원 팀의 민물공원 입니다.

이번주는 Rollout 에 대해 알아보겠습니다!

 

Rollout


롤아웃(rollout) 은 애플리케이션의 업데이트나 변경 사항을 안전하게 배포하는 프로세스를 말합니다. 새로운 버전의 애플리케이션을 배포하고 이전 버전과의 전환을 원활하게 관리하면서 롤백이나 각종 상태 모니터링을 지원합니다.

일반적으로 'kubectl rollout' 명령어를 사용하여 이러한 배포 프로세스를 관리할 수 있습니다.

이러한 방식은 무중단 배포와 서비스의 안정성을 높이는 데 도움이 됩니다.

실습을 통해 더 자세하게 알아보겠습니다.

 

 

Rollout 실습


이번 실습도 KillerCoda 에서 따라해보아요.

https://killercoda.com/

 

Killercoda Interactive Environments

Learn DevOps Linux Kubernetes CKS CKA CKAD Git Cassandra etc | Katacoda compatible

killercoda.com

 

컨테이너 이미지 버전을 업데이트하고 Roll back 을 이용하여 이전 버전으로 되돌리는 실습을 진행해보아요.

 

먼저 nginx deployment 를 생성해줍니다.

kubectl create deployment web --image=nginx --replicas=3

 

deployment 이미지를 확인합니다.

kubectl describe deployment web

 

web deployment 이미지를 'nginx:1.16.1' 로 설정합니다.

kubectl set image deployment web nginx=nginx:1.16.1

 

rollout 상태를 확인합니다.

kubectl rollout status deployment web

 

rollout history를 확인합니다.

kubectl rollout history deployment web

 

web deployment 이미지를 확인하여 업데이트가 잘 되었음을 알수있습니다.

kubectl describe deployment web

 

이미지를 다시 되돌립니다.

kubectl rollout undo deployment web

 

다시한번 이미지를 확인합니다. 이미지가 roll back 되었음을 확인할 수 있습니다.

kubectl describe deployment web

 

이렇게 오늘은 Rollout 에 대해 알아보았는데요.

다음번에는 더 흥미로운 주제로 찾아뵙겠습니다.

 

이상 BTC_녹차공원 팀이였습니다!

베빠~!

'INFRA > DevOps' 카테고리의 다른 글

Deployments 와 StatefulSets  (0) 2024.04.17
[Git] switch/restore  (0) 2024.02.28
[DevOps] Log4j 보안취약점 및 해결 방법  (0) 2023.12.29
[DevOps] Log4j 란?  (1) 2023.12.29
[K8S] ConfigMap  (1) 2023.12.08

댓글