1. 클러스터 업그레이드 절차
- kubeadm 업그레이드
- 마스터 노드 업그레이드
- 마스터 노드 kubelet, kubectl 업그레이드
- 워커 노드 업그레이드
- 워커 노드 kubelet, kubectl 업그레이드
2. kubeadm 업그레이드
- kubeadm 현재 버전 확인
kubeadm version
![](https://velog.velcdn.com/images/_zero_/post/e0acdafa-968d-4118-af30-3d68863ab1b1/image.png)
- apt 업데이트
apt update
- 업그레이드 가능한 kubeadm 버전 확인
apt-cache madison kubeadm
![](https://velog.velcdn.com/images/_zero_/post/3f964acd-c51d-4c28-9645-e1341fe5e416/image.png)
- kubeadm 업그레이드
apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm=1.24.0-00 && \
apt-mark hold kubeadm
- 업그레이드 적용 확인
kubeadm version
![](https://velog.velcdn.com/images/_zero_/post/bdc0a208-97a2-40be-9ea1-074e65c38136/image.png)
- 클러스터 업그레이드 플랜 확인
kubeadm upgrade plan
![](https://velog.velcdn.com/images/_zero_/post/a507fe3c-3a4f-4517-826c-e29ca437716f/image.png)
3. 마스터 노드 업그레이드
- 현재 클러스터 버전 확인
![](https://velog.velcdn.com/images/_zero_/post/3a7b5ea6-25e1-4e6b-bdec-cff4f5ea6109/image.png)
- drain 적용
kubectl drain controlplane --ignore-daemonsets
![](https://velog.velcdn.com/images/_zero_/post/c87c79ca-bb25-479c-bfba-05a8a8482f73/image.png)
- 클러스터 업그레이드 적용
sudo kubeadm upgrade apply v1.24.0
4. 마스터 노드 kubelet 업그레이드
apt-mark unhold kubelet kubectl && \
apt-get update && apt-get install -y kubelet=1.24.0-00 kubectl=1.24.0-00 && \
apt-mark hold kubelet kubectl
sudo systemctl daemon-reload
sudo systemctl restart kubelet
kubectl uncordon controlplane
- 마스터 노드 업그레이드 적용 확인
![](https://velog.velcdn.com/images/_zero_/post/30bcc2d3-0616-4762-8ffd-4fec9f1d9240/image.png)
![](https://velog.velcdn.com/images/_zero_/post/b6963693-cbd6-4632-9b62-f781b560bbbd/image.png)
5. 워커 노드 업그레이드
kubectl drain node01 --ignore-daemonsets
ssh node01
apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm=1.24.0-00 && \
apt-mark hold kubeadm
sudo kubeadm upgrade node
6. 워커 노드 kubelet, kubectl 업그레이드
apt-mark unhold kubelet kubectl && \
apt-get update && apt-get install -y kubelet=1.24.0-00 kubectl=1.24.0-00 && \
apt-mark hold kubelet kubectl
sudo systemctl daemon-reload
sudo systemctl restart kubelet
kubectl uncordon node01
- 워커 노드 업그레이드 적용 확인
![](https://velog.velcdn.com/images/_zero_/post/aafc59b6-039d-44d1-99a0-174a516bcb3a/image.png)
참고
- https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/