i
kubernetes는 각 컴포넌트마다 서로 다른 버전을 가지고 있을 수 있습니다.
이로 인해 각 컴포넌트마다 업데이트가 가능한데 Kubernetes 서포트는 최신 3개의 버전에만 가능하기 때문에 버전을 빠르게 업그레이드 하는 것이 필요합니다.
또한 v1.10 > v1.11 > v1.12 로 차례로 올리는 것이 좋은 방법입니다.
Cluster Upgrade 순서
1. 기본 컨트롤 플레인 노드 업그레이드
2. 추가 컨트롤 플레인 노드 업그레이드
3. 워커 노드 업그레이드
필수 조건
1. 모든 노드가 Ready 상태여야 함
2. swap 비활성화
3. (필요 시) 클러스터 백업 - kubeadm upgrade
4. Node draining 필요
1. ControlPlane Upgrade
업그레이드 순서 : kubeadm → kublet → kubectl
1. kubeadm upgrade
yum install -u kubeadm-<version>-0 --sidableexcludes=kubernetes
<업그레이드할 버전>을 선택하고 업그레이드
Nothing to do가 뜬다면 yum remove로 삭제하고 다시 진행
2. Upgrade plan 확인
kubeadm upgrade plan
3. Upgrade
kubeadm upgrade apply v<업그레이드 버전>
success문구가 뜬다면 업그레이드 성공
4. 노드 Drain
kubectl drain <node-to-drain> --ignore-daemonsets
kubectl get nodes
5. kubelet과 kubectl 업그레이드
yum install -y kublet-<version>-0 kubectl-<version>-0 --disableexcludes=kubernetes
#kubelet 재시작
sudo systemctl daemon-reload
sudo systemctl restart kubelet
6. 노드 Uncordon
kubectl uncordon hk8s-m
kubectl get nodes
2. Worker Node Upgrade
1. kubeadm upgrade
2. 로컬 kublet 구성 업그레이드
3. 노드 drain
4. kubelet, kubectl 업그레이드
yum install -y kublet-<version>-0 kubectl-<version>-0 --disableexcludes=kubernetes
#kubelet 재시작
sudo systemctl daemon-reload
sudo systemctl restart kubelet
5. Worker 노드 Online 상태로 변환
kubectl uncordon <node-to-drain>
3. Cluster Upgrade 확인
kubectl get nodes
모든 노드가 Ready상태로 올라오면 업그레이드 완료
'INFRA > Operation' 카테고리의 다른 글
쿠버네티스 이론STEP11 Scheduling 1 Taint & Toleration (0) | 2022.09.27 |
---|---|
Terraform 리소스에 대한 이해 - AWS 1편 (2) | 2022.09.19 |
Terraform 리소스에 대한 이해 - Azure 5편 (0) | 2022.09.15 |
쿠버네티스 이론 STEP9 Controller&Rolling Update (0) | 2022.09.14 |
Terraform 리소스에 대한 이해 - Azure 4편 (0) | 2022.09.06 |
댓글