9.1 파드에서 실행 중인 애플리케이션 업데이트
1) 오래된 파드를 삭제하고 새 파드를 교체
- 레플리케이션컨트롤러를 사용하면 파드 템플릿은 업데이트 하고, 새 인스턴스 생성할 때 업데이트된 파드 템플릿 사용할 수 있다.
- 이전 파드 인스턴스를 삭제해 쉽게 교체할 수 있다.
2) 새 파드 기동과 이전 파드 삭제
- 다운타임이 발생하지 않고 한 번에 여러 버전의 애플리테이션이 실행하는 것을 지원하는 경우에는,
- 프로세스를 먼저 전환해 새 파드를 모두 기동한 후 이전 파드를 삭제할 수 있다.
3) 롤링 업데이트 수행
- 파드를 단계별로 교체하는 롤링 업데이트를 수행할 수 있다.
- 이전 레플리케이션컨트롤러를 천천히 스케일 다운하고 새 파드를 스케일 업해 이를 수행할 수 있다.
9.2 레플리케이션 자동 롤링 업데이트 수행
1) 롤링 업데이트 실습
kubectl rolling-update kubia-v1 kubia-v2 --image=luska/kubia:v2
그리고 나서 v2파드를 만들면서 v1파드를 하나씩 스케일 다운한다.
다운타임은 발생하지 않지만, v1과 v2가 공존하긴 한다.
2) kubectl rolling-update 를 더 이상 사용하지 않는 이유
- 쿠버네티스가 오브젝트를 수정하게 된다. (레이블과 레플리케이션 컨트롤러의 레이블 셀럭터를 수정하게 된다)
- 쿠버네티스 클라이언트가 업데이트 프로세스를 수행하는데 과정에 네트워크 연결이 끊기면 중간에 중단되면서 예상하지 못한 문제를 발생시킬 수 있다.
반응형
'스터디 > [쿠버네티스 인 액션] (2024.8)' 카테고리의 다른 글
[쿠버네티스 인 액션] 10장.스테이트풀셋 (1) 스테이트풀셋이 나오게 된 배경 (0) | 2024.10.22 |
---|---|
[쿠버네티스 인 액션] 9장. 디플로이먼트 : 선언적 애플리케이션 업데이트 - 디플로이먼트 (2) | 2024.10.20 |
[쿠버네티스 인 액션] 8장. 앰베서더 컨테이너, 쿠버네티스 API client (0) | 2024.10.10 |
[쿠버네티스 인 액션] 8장. 애플리케이션 파드 메타데이터와 그 외의 리소스에 엑세스하기 (6) | 2024.10.09 |
[쿠버네티스 인 액션] 7장. 컨피그맵과 시크릿 - 컨피그맵, 시크릿 + 참고영상 (0) | 2024.10.03 |