상세 컨텐츠

본문 제목

kubeadm으로 쿠버네티스 클러스터 업그레이드

⚙️ Kubernetes

by chnh 2023. 2. 6. 14:39

본문

반응형

쿠버네티스는 활발하게 유지 보수되는 프레임워크이므로 이에 맞춰 운영자는 주기적으로 버전 업그레이드를 수행해줘야한다. 쿠버네티스의 버전은 api-server를 기준으로 하고, 이에 따라 컴포넌트 간 지원 버전이 결정된다.

 

버전 표기 방법: x(major).y(minor).z(patch)

 

클러스터 업그레이드 방식은 초기 배포방법에 의존적이다. 즉, kubeadm으로 배포했다면 kubeadm으로, 수동으로 구성했다면 절차에 따라 수동으로 업그레이드해야한다.

 

 

 

이 글에서는 kubeadm을 사용하여 클러스터를 1.25.0에서 1.26.0으로 업그레이드하는 방법에 대해 다룬다.

대략적인 업그레이드 순서는 다음과 같다.

  1. 기본 컨트롤 플레인 노드를 업그레이드한다.
  2. 추가 컨트롤 플레인 노드를 업그레이드한다.
  3. 워커(worker) 노드를 업그레이드한다.

 

Prerequisites

  • 모든 노드가 ready 상태
  • swap 비활성화
  • 클러스터 백업 (optional)

 

Upgrade

1. 컨트롤 플레인 업그레이드

  1. 업그레이드 버전 결정
  2. 업그레이드 할 노드 drain하기
  3. kubeadm 업그레이드
  4. kubelet,kubectl 업그레이드
  5. kubelet 재시작
  6. 노드 uncordon
k get no

NAME           STATUS   ROLES           AGE   VERSION
controlplane   Ready    control-plane   81m   v1.25.0
node01         Ready    <none>          80m   v1.25.0
kubectl drain controlplane --ignore-daemonsets
apt update
apt-get install kubeadm=1.26.0-00
kubeadm upgrade plan v1.26.0
kubeadm upgrade apply v1.26.0
apt-get install kubelet=1.26.0-00
systemctl daemon-reload
systemctl restart kubelet
kubectl uncordon controlplane

kubeadm upgrade apply 는 클러스터가 업그레이드 가능한 상태인지 확인하고 버전 차이(skew) 정책을 적용한다.

 

kubeadm upgrade 명령 시 Master Node에서 관리하는 인증서를 자동으로 갱신하는데, 인증서 갱신을 하지 않으려면 --certificate-renewal=false 플래그를 사용하면 된다. 

 

2. 워커노드 업그레이드

kubectl drain node01 --ignore-daemonsets
ssh node01 

# 여기서부터는 node01 위에서 이루어진다. 
apt update
apt-get install kubeadm=1.26.0-00
kubeadm upgrade node
systemctl daemon-reload
systemctl restart kubelet
exit 

# 다시 node01 밖에서 진행
kubectl uncordon node01

 

kubeadm upgrade node 는 워커 노드에서 다음을 수행한다.

  • 클러스터에서 kubeadm ClusterConfiguration 을 가져온다.
  • 이 노드의 kubelet 구성을 업그레이드한다.

 

정상적으로 업그레이드가 완료되면 노드의 버전이 1.26.0으로 바뀐 것을 확인할 수 있다.

k get no

NAME           STATUS   ROLES           AGE   VERSION
controlplane   Ready    control-plane   81m   v1.26.0
node01         Ready    <none>          80m   v1.26.0
반응형

'⚙️ Kubernetes' 카테고리의 다른 글

etcd Backup & Restore  (0) 2023.02.13

관련글 더보기

댓글 영역