Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

전공공부

[K8S - CKA] Cluster Upgrade Process 본문

Study/K8S

[K8S - CKA] Cluster Upgrade Process

monitor 2023. 11. 13. 22:38

1. 중요도


X 버전

kube-apiserver : 최고로 높아야 하는 컴포넌트

 

X - 1 버전

controller-manager

kube-scheduler 

 

X - 2 버전

kubelet

kube-proxy

 

X+1 > X - 1 버전

kubectl : apiServer 보다 버전이 높을 수도 있음 

 

 

2. 언제 어떻게 클러스터 업그레이드를 진행 할 수 있을까?


 

GKE의 경우

클러스터 설정에 따라서 다른데 GKE 사용시에는 몇번의 클릭만으로 업그레이드가 가능하다.

 

kubeadm의 경우

kubeadm upgrade plan

kubeadm upgrade apply

 위 명령어로 업데이트가 가능하다.

 

kubeadm의 경우로 자세히 알아보자

 

Master Node가 먼저 업그레이드가 되고 나머지 Worker Node가 업그레이드 한다.

 

하지만, Master Node가 다운되면 관리를 할 수 없으니 Pod가 깨지면 그대로 깨져 있을 것이고 관리가 되지 않는다.

 

Worker Node의 업그레이드의 경우

 

1. 모든 Worker Node를 한 번에 업그레이드 한다. 이때는, Pod가 모두 내려가고 작동을 하지 않는다.

 

2. 하나의 Worker Node를 업그레이드 한다. Rolling Update 처럼 쓰이고 이에 따라서 Pod도 Node에 알아서 새롭게 붙는다.

 

3. New Node를 하나 두고 Pod를 옮기고 Old Node를 삭제한다.

kubeadm - upgrade


 

실행 순서 - Master Node

 

1. kubeadm upgrade plan : upgrade 실행 전 어떻게 구성이 되고 변할지 먼저 보여주는 명령어다.

 

2. apt-get upgrade -y kubeadm=1.12.0-00 : kubeadm의 새 버전을 다운로드 받는다. 

 

3. kubeadm upgrade apply v1.12.0 : 컨트롤 플레인의 버전이 상승 한 것을 볼 수 있다.

 

4. kubectl get nodes : 버전을 확인해보자. 하지만 v 1.11으로 보일 것이다. kubelet은 API Server로 부터 받은 값을 보는데 kubelet을 을 업데이트 해서 이를 해결하자

 

5. apt-get upgrade -y kubelet=v1.12.0-00

 

6. systemctl restart kubelet

 

7. kubectl get nodes : 이제 버전이 상승 한 것을 확인 할 수 있다.

 

실행 순서 - Worker Node

 

1. kubectl drain node-1 : node-1의 pod를 모두 다른 곳으로 옮기고 노드를 내린다.

 

2. apt-get upgrade -y kubeadm=1.12.0-00

 

3. apt-get upgrade -y kubelet=v1.12.0-00

 

4. kubeadm upgrade node config --kubelet-version v1.12.0 : 노드 구성 업데이트

 

5. systemctl restart kubelet : 노드는 소프트웨어 새 버전과 함께 상승

 

6. kubectl uncordon node-1 : 이것으로 다시 노드는 올리지만 기존 pod가 다시 붙지는 않습니다. 이제 생길 pod가 스케줄링 될 수는 있습니다.

 

'Study > K8S' 카테고리의 다른 글

[K8S - CKA] SECURITY PRIMITIVES (Deprecated)  (0) 2023.12.10
[K8S - CKA] Backup And Restore  (0) 2023.11.19
[K8S - CKA] OS Upgrade  (0) 2023.11.12
[K8S - CKA] initContainers  (0) 2023.11.12
[K8S - CKA] Multi Container Pods  (0) 2023.11.12