본문 바로가기
Compute/kubernetis

[따배씨] 22. Kubernetes Upgrade / CKA 시험 문제 학습

by 조청유곽 2025. 2. 1.
반응형

이 포스팅은 아래의 유튜브 채널 "따배"를 따라서 학습한 내용입니다.  

 

 

[관련 이론]


 

 

[Precondition]

(1) 테스트 환경

(1.1) Rocky Linux Cluster 

: 직접 구성

[root@k8s-master ~]# k get nodes -o wide
NAME         STATUS   ROLES           AGE   VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                            KERNEL-VERSION                  CONTAINER-RUNTIME
k8s-master   Ready    control-plane   30d   v1.27.2   192.168.56.30   <none>        Rocky Linux 8.10 (Green Obsidian)   4.18.0-553.33.1.el8_10.x86_64   containerd://1.6.32
k8s-node1    Ready    <none>          30d   v1.27.2   192.168.56.31   <none>        Rocky Linux 8.8 (Green Obsidian)    4.18.0-477.10.1.el8_8.x86_64    containerd://1.6.21
k8s-node2    Ready    <none>          30d   v1.27.2   192.168.56.32   <none>        Rocky Linux 8.8 (Green Obsidian)    4.18.0-477.10.1.el8_8.x86_64    containerd://1.6.21
[root@k8s-master ~]#

 

(1.2) Ubuntu Cluster 

: kodekloud 테스트 환경 활용

controlplane ~ ➜  kubectl get nodes -o wide
NAME           STATUS   ROLES           AGE     VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION   CONTAINER-RUNTIME
controlplane   Ready    control-plane   9m6s    v1.31.0   192.6.94.6    <none>        Ubuntu 22.04.4 LTS   5.4.0-1106-gcp   containerd://1.6.26
node01         Ready    <none>          8m31s   v1.31.0   192.6.94.9    <none>        Ubuntu 22.04.4 LTS   5.4.0-1106-gcp   containerd://1.6.26

https://learn.kodekloud.com/user/courses/udemy-labs-certified-kubernetes-administrator-with-practice-tests

 

 

(2) 사전 필요 설정 

- N/A


 

 

[Question]

upgrade system : k8s-master
Given an existing Kubernetes cluster running version 1.20.1,
upgrade all of the kubernetes control plane and node components on the master node only to version 1.21.3.
Be sure to drain the master node before upgrading it and uncordon it after the upgrade.

 

 

[Solve]

(1) node drain 실행 

controlplane ~ ➜  k drain controlplane --ignore-daemonsets 
node/controlplane cordoned

 

 

(2) kubeadm 업그레이드

: youtube 강좌와 달리 시험 환경에 맞추어 버전에는 차이가 있음 

  -> v1.31.0 -> 1.31.5로 업데이트 진행

: node 버전 및 업그레이드가 가능한 버전 확인 

controlplane ~ ➜  k get nodes -o wide
controlplane ~ ➜  kubeadm version
controlplane ~ ➜  sudo apt update
controlplane ~ ➜  sudo apt-cache madison kubeadm

 

: kubeadm 업그레이드 버전 설치 

controlplane ~ ➜  cat upgrade
sudo apt-mark unhold kubeadm && \
sudo apt-get update && sudo apt-get install -y kubeadm='1.31.5-1.1' && \
sudo apt-mark hold kubeadm

 

 

: update plan 확인 

controlplane ~ ➜  sudo kubeadm upgrade plan

 

 

: kubeadm 업그레이드 실행

  -> 문제에서 master node만 업그레이드를 진행하므로 다른 node는 upgrade하지 않는다. 

controlplane ~ ➜  sudo kubeadm upgrade apply v1.31.5

 

 

: kubelet 업그레이드 

controlplane ~ ➜  vi kubelet-upgrade
controlplane ~ ➜  cat kubelet-upgrade 
sudo apt-mark unhold kubelet kubectl && \
sudo apt-get update && sudo apt-get install -y kubelet='1.31.5-1.1' kubectl='1.31.5-1.1' && \
sudo apt-mark hold kubelet kubectl

 

 

: kubelet restart 및 uncordon 

   -> master node만 버전 업그레이가 된 것을 확인

 

 

반응형