minor version 1씩 업그레이드 진행할 것
controlplane 먼저 업그레이드 한 뒤
전략1: 모든 워커노드 동시에 업그레이드 (서비스 중단됨)
전략2: 노드 하나씩 순차적으로 업그레이드
전략3: 새로운 노드 추가하여 기존 노드의 앱 이관하여 업그레이드
kubectl get node
cat /etc/*release*
## 업그레이드 할 버전으로 바꾸고 실행
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
sudo apt-get update
## 다른 노드에 접속해서도 동일하게 실행
ssh node01
# Find the latest 1.31 version in the list.
# It should look like 1.31.x-*, where x is the latest patch.
apt update
apt-cache madison kubeadm
---
# replace x in 1.31.x-* with the latest patch version
sudo apt-mark unhold kubeadm && \
sudo apt-get update && sudo apt-get install -y kubeadm='1.31.x-*' && \
sudo apt-mark unhold kubelet && \
sudo apt-get update && sudo apt-get install -y kubeadm='1.31.x-*' && \
sudo apt-mark hold kubeadm
---
# 최신 패치 버전을 변수로 저장 (필요시 수동으로 입력)
LATEST_VERSION="1.31.2-1.1"
# kubeadm과 kubelet의 버전을 최신 패치 버전으로 동시에 설치
sudo apt-mark unhold kubeadm kubelet && \
sudo apt-get update && \
sudo apt-get install -y kubeadm="$LATEST_VERSION" kubelet="$LATEST_VERSION" && \
sudo apt-mark hold kubeadm kubelet
---
sudo apt-mark unhold kubeadm kubelet && \
sudo apt-get update && \
sudo apt-get install -y kubeadm='1.31.x-*' kubelet='1.31.x-*' && \
sudo apt-mark hold kubeadm kubelet
---
kubeadm version
kubeadm upgrade plan
# replace x with the patch version you picked for this upgrade
sudo kubeadm upgrade apply v1.31.x
# replace <node-to-drain> with the name of your node you are draining
kubectl drain <node-to-drain> --ignore-daemonsets
sudo systemctl daemon-reload
sudo systemctl restart kubelet
# replace <node-to-uncordon> with the name of your node
kubectl uncordon <node-to-uncordon>
https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/
Upgrading kubeadm clusters
This page explains how to upgrade a Kubernetes cluster created with kubeadm from version 1.30.x to version 1.31.x, and from version 1.31.x to 1.31.y (where y > x). Skipping MINOR versions when upgrading is unsupported. For more details, please visit Versio
kubernetes.io
https://kubernetes.io/blog/2023/08/15/pkgs-k8s-io-introduction/
pkgs.k8s.io: Introducing Kubernetes Community-Owned Package Repositories
On behalf of Kubernetes SIG Release, I am very excited to introduce the Kubernetes community-owned software repositories for Debian and RPM packages: pkgs.k8s.io! The new package repositories are replacement for the Google-hosted package repositories (apt.
kubernetes.io
'데브옵스 > Orchestration' 카테고리의 다른 글
[Kubernetes] 37. Config (0) | 2025.01.08 |
---|---|
[Kubernetes] 36. Backup, Restore mothods (0) | 2025.01.08 |
[Kubernetes] 34. Software Version, Cluster Upgrade (0) | 2025.01.08 |
[Kubernetes] 33. OS Upgrades (0) | 2025.01.08 |
[Kubernetes] 32. Self Healing Application (0) | 2025.01.08 |