Cloud & Architecture/Kubernetes

쿠버네티스(Kubernetes) 배포 업데이트, 롤백

Karla Ko 2023. 10. 26. 14:53
728x90

2023.10.14 - [Cloud&DevOps/Kubernetes] - GCP Kubernetes GKE Pod 생성, 배포, 접속

 

GCP Kubernetes GKE Pod 생성, 배포, 접속

2023.10.10 - [Cloud&DevOps/GCP] - GCP GKE 클러스터 생성 | 구글 클라우드 플랫폼, 쿠버네티스 GCP GKE 클러스터 생성 | 구글 클라우드 플랫폼, 쿠버네티스 https://cloud.google.com https://cloud.google.com 영상 통화, 이

karla.tistory.com

 

Deployment
하나씩 Pod의 수를 수동으로 조정해야 하기 때문에 이를 자동화해서 추상화한 개념이 Deployment 이다.

 

업데이트

  • v2 이미지 배포
  • 명령어를 실행하면 v1 → v2로 pod를 하나씩 롤링 업데이트를 한다.
  •  pod를 하나씩 지워가면서 새로운 pod를 생성하는 것을 확인할 수 있다.
 kubectl set image deployment/[deployment] [image] # 이미지를 새 이미지로 변경할수 있다

 

Deployment는 RC대신 RS를 사용한다.
kubectl get deployments.[deployment 명] 
kubectl describe [deployment 명]

 

객체의 설정 업데이트

  • edit 명령은 리소스의 설정 정보를 kubectl 이 설치되어 있는 머신의 에디터를 이용해서 에디트할 수 있다.
kubectl edit deploy [deployment 명]

 

 

롤백

rollout은 여러개의 pod를 모두 죽이지않고 순차적으로 업데이트하는 방식을 말합니다.
  •  history 정보를 확인
  • 이미지 배포 시 --record 옵션을 지정한 경우 히스토리를 볼 수 있음
 kubectl rollout history deployment/[deployment 명] # 배포된 버전을 확인할 수 있다
 kubectl rollout undo deployment [ deployment 명 ] --to-revision=[롤백할 버전명]

 

  • rollout status 확인
kubectl rollout status deployment [ deployment 명 ]

 

  • deployment의 pod을 순차적으로 모두 재시작
rollout restart deployment [ deployment 명 ]

 

 

728x90