실제 쿠버네티스 버전 업그레이드는 어떻게 이루어지나요?
669
작성한 질문수 2
본 강의에서는 쿠버네티스 버전 업그레이드를 할 때 각 워커 노드에서 수동으로 업그레이드를 진행했는데 실제 개발 환경에서는 이런 식으로 업그레이드를 진행하지 않을 거 같다는 생각이 들었습니다. 실제 환경에서 가동되는 워커 노드는 수없이 많으니까요.
물론 기업마다 팀마다 차이가 있을 거 같지만, 실제 개발 환경에서 쿠버네티스를 업그레이드할 때 워커 노드는 어떻게 업그레이드를 할까요? 강사님의 경험에서 우러나온 답변도 환영합니다 :)
답변 1
2
안녕하세요
좋은 질문 감사합니다.
실제 쿠버네티스...라고 한다면 설명했던 것처럼 크게 3가지가 있으나, 구성형은 설치형과 유사하니 두개를 묶도록 하겠습니다.
따라서 클라우드 / 온프레미스 형태로 나누어지게 되는데요.
클라우드는 업그레이드 하면 rolling update를 worker 노드마다 걸어서 하게 됩니다.
따라서 서비스가 흔들릴 수 있습니다.
온프레미스는 클라우드의 과정을 사용자가 직접해준다는 차이가 있으나 worker 노드마다 진행되는 것은 동일합니다.
실제 개발 환경 또는 실제 k8s 환경이라고 부르는 환경에 worker 노드가 수 없이 많게 구성할지 Cluster(Context) 별로 쪼개서 구성할지는 전략에 따라 좀 다르지만...어쨌든 worker 노드는 직접 업데이트합니다.
이제 질문으로 들어가 보겠습니다.
본 강의에서는 쿠버네티스 버전 업그레이드를 할 때 각 워커 노드에서 수동으로 업그레이드를 진행했는데 실제 개발 환경에서는 이런 식으로 업그레이드를 진행하지 않을 거 같다는 생각이 들었습니다. 실제 환경에서 가동되는 워커 노드는 수없이 많으니까요.
물론 기업마다 팀마다 차이가 있을 거 같지만, 실제 개발 환경에서 쿠버네티스를 업그레이드할 때 워커 노드는 어떻게 업그레이드를 할까요? 강사님의 경험에서 우러나온 답변도 환영합니다 :)
아마도 Worker 노드가 많은데 이걸 일일히 한다고? 자동으로 해야 하는거 아니야? 라고 생각하실 수 있습니다. 그리고 자동으로 하는건 어렵지 않습니다. 엄밀히 따지면 거의 모든 자동이 반자동이긴 한데....
Ansible등의 관리 도구나 bash+ssh 명령이나 python등에서 paramiko를 쓰거나 등등으로 원격지에 있는 설정을 바꾸고 다시 기동해 주면 됩니다.
그런데 문제는 위에 업그레이드 중에 서비스가 흔들릴 수 있다 라는 부분이 더 큰 고려점이 됩니다.
그래서 업그레이드 자체를 A/B, Canary, Blue-Green 등을 방법론을 동원해서 순차적으로 진행합니다.
(참고로 이 책의 젠킨스 부분에 Blue-Green 실습이 있습니다.)
이를 위해서 구동 중인 앱을 빠르게 이전하기 위한 방법 중에 하나로 나중에 배울 Readiness probe를 사용해서 앱을 죽이지 않고 endpoints만 잠시 중단하기도 합니다.
정리하자면
다수의 워커 노드를 한 콘솔(또는 시스템)에서 뿌리는 방식으로 업그레이드하는건 어렵지 않습니다. 근데 프로덕션이라면 사이드이펙트가 너무 큽니다. 그래서 순차적으로 또는 메인터넌스 시간을 잡고 천천히 합니다.
답변이 되셨기를 바랍니다.
조훈 드림.
환경 설정에 대하여
0
74
2
실습 환경 관련 질의
0
70
2
ch4 디렉토리
0
110
2
cp-k8s-1.30.0(github_SysNet4Admin).ova 파일 확인 부탁드립니다.
0
79
2
6.2 nfs_exporter Permission denied
0
89
2
12분 13초부터의 내용 질문
0
85
1
K8S https 로 try 하는 부분에 대한 Error 확인
0
92
1
deployment 관련 문의
0
101
3
kubectl get nodes 관련 문의
0
221
5
Vagrant 도 에러, OVA도 에러... 실습환경을 만드는게 너무 힘들어요~~~~~!!!!!!
0
124
3
Tabby를 설치후 Copy할때 오류
0
99
3
nginx run 시 ImagePullBackOff 발생
0
114
4
쿠버네티스 환경 구축 질문입니다.
0
119
2
virtualbox 설치 실패
1
132
2
2.4강 brew install 시 .rb 파일 미인식 (./virtualbox-v7.1.10/virtualbox.rb)
1
171
2
워커노드 OS SWAP 질문
0
64
1
2.4.베이그런트(Vagrant)+버추얼박스/vagrant up issue
0
143
2
k run chk-info --image=sysnet4admin/chk-info 에러..
0
112
2
vagrant up 시에 Running pre-flight checks 에서 에러
0
94
2
failed to pull and unpack image \"registry.k8s.io/kube-apiserver:v1.30.14\": context canceled"
0
198
2
vagrant up을 하면 설정과 다르게 설정이 됩니다.
0
130
2
Tabby 무응답
0
141
4
ova 입력시
0
173
3
vagrant up
0
167
2





