컨트롤 플레인 노드에서:
Kubernetes apt 저장소를 정의하는 파일을 수정
vim /etc/apt/sources.list.d/kubernetes.list
URL의 버전을 다음 사용 가능한 마이너 릴리스인 v1.31로 업데이트한다.
deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.31/deb/ /
controlplane을 업그레이드하기 전에 drain 진행 및 kubernetes 패키지 확인
kubectl drain controlplane --ignore-daemonsets
apt update
apt-cache madison kubeadm
35 packages can be upgraded. Run 'apt list --upgradable' to see them.
kubeadm | 1.31.4-1.1 | https://pkgs.k8s.io/core:/stable:/v1.31/deb Packages
kubeadm | 1.31.3-1.1 | https://pkgs.k8s.io/core:/stable:/v1.31/deb Packages
kubeadm | 1.31.2-1.1 | https://pkgs.k8s.io/core:/stable:/v1.31/deb Packages
kubeadm | 1.31.1-1.1 | https://pkgs.k8s.io/core:/stable:/v1.31/deb Packages
kubeadm | 1.31.0-1.1 | https://pkgs.k8s.io/core:/stable:/v1.31/deb Packages
확인된 버전은 1.31.0-1.1, 바로 설치해준다
apt-get install kubeadm=1.31.0-1.1
설치가 끝나면 kubeadm을 업그레이드하고 apply 해준다
kubeadm upgrade plan v1.31.0
kubeadm upgrade apply v1.31.0
이제 Kubelet의 버전을 업그레이드하고 재시작한다. controlplane 노드를 스케줄 가능 상태로 표시한다.
apt-get install kubelet=1.31.0-1.1
systemctl daemon-reload
systemctl restart kubelet
kubectl uncordon controlplane
Node01을 드레인하기 전에 업그레이드 중 컨트롤 플레인 노드에 태인트가 추가되었다면 이를 제거해야 한다.
# 태인트를 확인한다.
kubectl describe node controlplane | grep -i taint
# "kubectl taint" 명령어를 사용해 태인트를 제거한다.
kubectl taint node controlplane node-role.kubernetes.io/control-plane:NoSchedule-
# 태인트가 성공적으로 제거되었는지 확인한다.
kubectl describe node controlplane | grep -i taint
node01 drain 진행
kubectl drain node01 --ignore-daemonsets
Node01 노드에서:
vim /etc/apt/sources.list.d/kubernetes.list
마찬가지로 1.31로 내용 수정
deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.31/deb/ /
패키지 확인
apt update
apt-cache madison kubeadm
apt-get install kubeadm=1.31.0-1.1
# 노드를 업그레이드한다.
kubeadm upgrade node
apt-get install kubelet=1.31.0-1.1
systemctl daemon-reload
systemctl restart kubelet
컨트롤 플레인 노드로 돌아와서:
kubectl uncordon node01
kubectl get pods -o wide | grep gold # 해당 파드가 노드에 스케줄되었는지 확인한다.
'DevOps' 카테고리의 다른 글
graceful shutdown (1) | 2025.01.30 |
---|---|
CKA 예제 리마인더 - 40. Lightning Lab - Ohters (0) | 2025.01.18 |
CKA 예제 리마인더 - 38. Mock Exam - 2 (0) | 2025.01.15 |
CKA 예제 리마인더 - 37. Mock Exam - 1 (0) | 2025.01.13 |
CKA 예제 리마인더 - 36. Worker Node Failure (0) | 2025.01.11 |