티스토리 뷰

1. kubeadm을 사용하여 쿠버네티스 클러스터 버전 업그레이드 

- 1.27.0 -> 1.28.0 로 업그레이드해야 함 

1) 현재 상태 및 업그레이드 가능한 버전 확인 

- 현재 상태 확인 

kubectl get nodes

NAME           STATUS     ROLES           AGE     VERSION
control-plane  Ready      control-plane   100d    v1.27.0
worker-node-1  Ready      <none>          100d    v1.27.0
worker-node-2  Ready      <none>          100d    v1.27.0

- 업그레이드 가능 버전확인: 만약 찾는 버전이 없을 경우, vi /etc/apt/sources.list.d 에서 kubernetes 설정 파일을 vim으로 버전 변경해야함 

sudo kubeadm upgrade plan

Components that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply':
COMPONENT   CURRENT   AVAILABLE
kubelet     1.27.0    1.28.0

Upgrade to the latest version in the v1.28 series:

COMPONENT                 CURRENT   AVAILABLE
kube-apiserver            v1.27.0   v1.28.0
kube-controller-manager   v1.27.0   v1.28.0
kube-scheduler            v1.27.0   v1.28.0
kube-proxy                v1.27.0   v1.28.0
CoreDNS                   v1.10.1   v1.10.2
Etcd                      3.5.6     3.5.7

2) 컨트롤 플레인 노드 업그레이드 

- kubeadm 업그레이드

sudo apt-mark unhold kubeadm
sudo apt-get update && sudo apt-get install -y kubeadm=1.28.0-00
sudo apt-mark hold kubeadm

- 컨트롤 플레인 업그레이드 

sudo kubeadm upgrade apply v1.28.0

[upgrade/success] SUCCESS! Your cluster was upgraded to "v1.28.0". Enjoy!

Components that have been upgraded:
  - kube-apiserver: v1.27.0 -> v1.28.0
  - kube-controller-manager: v1.27.0 -> v1.28.0
  - kube-scheduler: v1.27.0 -> v1.28.0
  - kube-proxy: v1.27.0 -> v1.28.0
  - CoreDNS: v1.10.1 -> v1.10.2
  - Etcd: 3.5.6 -> 3.5.7

- kubelet 및 kubectl 업데이트 

sudo apt-mark unhold kubelet kubectl
sudo apt-get install -y kubelet=1.28.0-00 kubectl=1.28.0-00
sudo apt-mark hold kubelet kubectl

# kubelet 서비스 재시작
sudo systemctl daemon-reload
sudo systemctl restart kubelet

 

3) 워커노드 업그레이드

(1) 워커노드에서 kubeadm 업데이트

 - SSH로 해당워커노드로 원격접속한뒤 업데이트를 진행한다. 

sudo apt-mark unhold kubeadm
sudo apt-get update && sudo apt-get install -y kubeadm=1.28-00
sudo apt-mark hold kubeadm

(2) 워커노드 업그레이드

- 해당 명령어로 kubelet의 구성파일(/var/lib/kubelet/config.yaml)을 클러스터의 새로운 쿠버네티스 버전에 맞게 업데이트

sudo kubeadm upgrade node

[upgrade] Reading configuration from the cluster...
[upgrade] Upgrading your Static Pod-hosted control plane instance to version "v1.28.0"...
[upgrade/successful] SUCCESS! Node upgrade complete.

(3) kubelet 및 kubectl 업데이트

sudo apt-mark unhold kubelet kubectl
sudo apt-get install -y kubelet=1.28.0-00 kubectl=1.28.0-00
sudo apt-mark hold kubelet kubectl

# kubelet 서비스 재시작
sudo systemctl daemon-reload
sudo systemctl restart kubelet

(4) 결과 확인 

- 노드로 버전 확인 

##노드 확인
kubectl get nodes

NAME           STATUS   ROLES           AGE     VERSION
control-plane  Ready    control-plane   100d    v1.28.0
worker-node-1  Ready    <none>          100d    v1.28.0
worker-node-2  Ready    <none>          100d    v1.28.0

- 쿠버네티스 버전 확인

kubectl version --short

Client Version: v1.28.0
Server Version: v1.28.0
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함