이 게시물은 아래 강의를 참고 하였습니다.
참고 강의 https://www.youtube.com/watch?v=KdATmTulf7s&list=PLApuRlvrZKojqx9-wIvWP3MPtgy2B372f&index=1
문제)
작업 클러스터: k8s
- Create a deployment as follows:
- TASK:
- name : nginx-app
- Using container nginx with version 1.11.10-alpine
- The deployment should contain 3 replicas
- Next, deploy the application with new version 1.11.13-alpine, by performing a rolling update
- Finally, rollback that update to the previous version 1.11.10-alpine
이론)
Rolling upate -> 서비스 중단 없이 업데이트 제공
ex)
3개의 1.0 버전의 앱이 3개의 파드에서 동작중 일 때 1.1 버전으로 업데이트를 진행하면,
1.1 버전의 pod가 생성되어 running 상태가 되면 기존의 1.0 버전의 앱을 동작시키고 있는 pod 하나를 제거한다.
1.1 버전의 pod 또 하나가 새로 생성되어 running 상태가 되면 기존 1.0 버전의 pod를 또 하나 제거한다.
마지막으로 새로운 pod가 생성되어 running 상태가 되면 기존 1.0 버전의 pod는 모두 제거된다.
풀이)
검색 키워드: rolling update -> Deployments | Kubernetes
- Context 변경
$ sudo kubectl config use-context k8s
- Deployment 생성
$ sudo kubectl create deployment nginx-app --image=nginx:1.11.10-alpine --replicas=3
- Rolling update 하기
https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#updating-a-deployment
에서 명령어 확인
$ sudo kubectl set image deployment nginx-app nginx=nginx:1.11.13-alpine --record
sudo kubectl set image deployment nginx-app nginx=nginx:1.11.13-alpine --record
nginx -> 버전 업데이트를 진행할 컨테이너의 이름이다.
--record -> 실제 운영환경에서 업데이트되는 레코드를 보기 위해 사용하는 옵션이다.
$ sudo kubectl rollout status deployment nginx-app
- Update 내역 확인하기
$ sudo kubectl rollout history deployment nginx-app
- Rollback 하기
$ sudo kubectl rollout undo deployment nginx-app
'k8s' 카테고리의 다른 글
CKA 준비 (9) Node 관리 (0) | 2022.05.31 |
---|---|
CKA 준비 (8) Node Selector (0) | 2022.05.30 |
CKA 준비 (6) Deployment & Pod Scale (0) | 2022.05.30 |
CKA 준비 (5) Side-car Container Pod 실행하기 (0) | 2022.05.24 |
CKA 준비 (4) multi-container Pod 생성하기 (0) | 2022.05.24 |