https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/
controlplane 노드를 1.31.0 버전으로 업그레이드 하세요
Controlplane Node Upgraded to v1.31.0
Controlplane Kubelet Upgraded to v1.31.0
kubectl drain controlplane --ignore-daemonsets
sudo apt update
에러 발생
W: GPG error: https://prod-cdn.packages.k8s.io/repositories/isv:/kubernetes:/core:/stable:/v1.30/deb InRelease: The following signatures were invalid: EXPKEYSIG 234654DA9A296436 isv:kubernetes OBS Project <isv:kubernetes@build.opensuse.org>
E: The repository 'https://pkgs.k8s.io/core:/stable:/v1.30/deb InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.31/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.31/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list
다시
sudo apt-get update
sudo apt-cache madison kubeadm
sudo apt-mark unhold kubeadm && \
sudo apt-get update && sudo apt-get install -y kubeadm='1.31.0-*' && \
sudo apt-mark hold kubeadm
kubeadm version
# 결과값
kubeadm version: &version.Info{Major:"1", Minor:"31", GitVersion:"v1.31.0", GitCommit:"9edcffcde5595e8a5b1a35f88c421764e575afce", GitTreeState:"clean", BuildDate:"2024-08-13T07:35:57Z", GoVersion:"go1.22.5", Compiler:"gc", Platform:"linux/amd64"}
sudo kubeadm upgrade plan
Components that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply':
COMPONENT NODE CURRENT TARGET
kubelet controlplane v1.30.0 v1.31.2
kubelet node01 v1.30.0 v1.31.2
Upgrade to the latest stable version:
COMPONENT NODE CURRENT TARGET
kube-apiserver controlplane v1.30.0 v1.31.2
kube-controller-manager controlplane v1.30.0 v1.31.2
kube-scheduler controlplane v1.30.0 v1.31.2
kube-proxy 1.30.0 v1.31.2
CoreDNS v1.10.1 v1.11.1
etcd controlplane 3.5.12-0 3.5.15-0
잘 적용됨
sudo kubeadm upgrade apply v1.31.0
좀 걸린다.
[upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.31.0". Enjoy!
굿
다되면 이제 kubelet을 업그레이드하자
sudo apt-mark unhold kubelet && \
sudo apt-get update && sudo apt-get install -y kubelet='1.31.0-*' && \
sudo apt-mark hold kubelet
sudo systemctl daemon-reload
sudo systemctl restart kubelet
kubectl uncordon controlplane
워커 노드도 업그레이드하세요
Worker Node Upgraded to v1.31.0
kubectl drain node01 --ignore-daemonsets
ssh node01
sudo apt upgrade
W: GPG error: https://prod-cdn.packages.k8s.io/repositories/isv:/kubernetes:/core:/stable:/v1.30/deb InRelease: The following signatures were invalid: EXPKEYSIG 234654DA9A296436 isv:kubernetes OBS Project <isv:kubernetes@build.opensuse.org>
E: The repository 'https://pkgs.k8s.io/core:/stable:/v1.30/deb InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
하
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.31/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.31/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list
다시
sudo apt-get update
sudo apt-cache madison kubeadm
sudo apt-mark unhold kubeadm && \
sudo apt-get update && sudo apt-get install -y kubeadm='1.31.0-*' && \
sudo apt-mark hold kubeadm
kubeadm version
# 결과값
kubeadm version: &version.Info{Major:"1", Minor:"31", GitVersion:"v1.31.0", GitCommit:"9edcffcde5595e8a5b1a35f88c421764e575afce", GitTreeState:"clean", BuildDate:"2024-08-13T07:35:57Z", GoVersion:"go1.22.5", Compiler:"gc", Platform:"linux/amd64"}
sudo kubeadm upgrade node
sudo apt-mark unhold kubelet && \
sudo apt-get update && sudo apt-get install -y kubelet='1.31.0-*' && \
sudo apt-mark hold kubelet
sudo systemctl daemon-reload
sudo systemctl restart kubelet
controlplane으로 돌아와서
kubectl get node 로 VERSION확인
kubectl uncordon node01
'DevOps' 카테고리의 다른 글
CKA 예제 리마인더 - 21. View Certificate Details (0) | 2024.12.02 |
---|---|
CKA 예제 리마인더 - 20. Backup and Restore Methods (1) | 2024.11.07 |
Kubernetes - upgrade 간략한 요약 (0) | 2024.11.03 |
Kubernetes - upgrade (0) | 2024.11.03 |
Kubernetes - drain, cordon, uncordon (0) | 2024.11.03 |