지니데비 기록 자세히보기

데브옵스/Orchestration

[Kubernetes] 35. Cluster Upgrade

지니데비 2025. 1. 8. 14:16
728x90

 

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

 

728x90
반응형