[22] Kubernetes Upgrade

❓Cluster Upgrade - only Master

Reference

docs에서 upgrade kubeadm 검색

Upgrading kubeadm clusters

실습

[user@console ~]$ kubectl config use-context k8s

[user@console ~]$ ssh k8s-master

[user@k8s-master ~]$ sudo -i

# 시험환경은 ubuntu 환경이니까 헷갈려 하지 않기
# Ubuntu
[root@k8s-master ~]# apt-update
[root@k8s-master ~]# apt-cache madison kubeadm

# Ubuntu
[root@k8s-master ~]# apt-mark unhold kubeadm && \\
 apt-get update && apt-get install -y kubeadm=1.23.3-00 && \\
 apt-mark hold kubeadm

# v1.23.3 버전으로 업그레이드 할 수 있는 master component 목록 확인
[root@k8s-master ~]# kubeadm upgrade plan v1.23.3
[root@k8s-master ~]# sudo kubeadm upgrade apply v1.23.3

# 현재 우리는 문제에서 요구한대로 k8s-master로 ssh를 통해 들어와서 작업중인데
# 이 마스터노드를 master노드를 drain 하는 작업을 해야하기 때문에
# exit로 console로 나와서 작업해줘야 한다.
[root@k8s-master ~]# exit
[user@k8s-master ~]$ exit
[user@console ~]$ kubectl drain k8s-master --ignore-daemonsets

# 이제 다시 마스터 노드로 들어간다
[user@console ~]$ ssh k8s-master

# Ubuntu
[user@k8s-master ~]$ sudo apt-mark unhold kubelet kubectl && \\
apt-get update && \\
apt-get install -y kubelet=1.23.3-00 kubectl=1.23.3-00 && \\
apt-mark hold kubelet kubectl

[user@k8s-master ~]$ sudo -i 
[root@k8s-master ~]# systemctl daemon-reload
[root@k8s-master ~]# systemctl restart kubelet

# 이제 다 끝나서 다시 콘솔로 나온 후에 언코던을 해준다
[root@k8s-master ~]# exit
[user@k8s-master ~]$ exit
[user@console ~]$ kubectl uncordon k8s-master
[user@console ~]$ kubectl get nodes

기출문제

upgrade system : k8s-worker1, k8s-worker2 k8s 클러스터의 모든 worker를 1.23.3 으로 업그레이드 하시오.

기출문제 (25번)

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

You are also expected to upgrade kubelet and kubectl on the master node.


Revision #1
Created 31 May 2023 00:16:59 by 와지
Updated 20 June 2023 13:20:12 by 와지