参照:
https://v1-22.docs.kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/
課題:
以下、k8sのバージョンが古い(2022/01現在)ので最新版にアップデートをしてみます。
アップグレード中での影響について:
バージョンアップ中は、稼働中のPodが停止するなどの悪影響は起きない。
マスターノード単体の場合は、更新が完了するまで、worker nodeへの出来ないことを考慮する必要がある。
手順:
コントロールプレーン x1、worker node x2の構成になので
以下の順に、アップグレードを行う。
1)コントロールプレーンのアップグレードを行う
①レポジトリの更新を行う。
apt update
②アップグレードのリストを表示する。
apt-cache madison kubeadm
③対象のバージョンにkubeadmのアップグレードを行う。
apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm=1.23.1-00 && \
apt-mark hold kubeadm
④kubeadmバージョンの確認を行う
kubeadm version
⑤アップグレード方法を確認する
kubeadm upgrade plan
(以下のアップグレードの適応方法が記載されている。)
⑥アップグレードの実施を行う
kubeadm upgrade apply v1.23.1
⑦kubeadmのアップグレードが成功すると、以下の表示が出て完了となる。
⑧kubelet&kubectlのアップグレードを行う。
(公式には記載がないがworker Nodeとバージョンを揃えたいので実施)
apt-mark unhold kubelet kubectl && \
apt-get update && apt-get install -y kubelet=1.23.1-00 kubectl=1.23.1-00 && \
apt-mark hold kubelet kubectl
⑨kubeletを再起動する
sudo systemctl daemon-reload
sudo systemctl restart kubelet
2)Worker Node(1台目)のアップグレードを行う
①対象のworker nodeにスケジュールを禁止にする。
注意:コントロールプレーンで実施
kubectl drain rasp-node1.local --ignore-daemonsets
②rasp-node1.localにログインして、アップグレードを行う。
apt-mark unhold kubelet kubectl && \
apt-get update && apt-get install -y kubelet=1.23.1-00 kubectl=1.23.1-00 && \
apt-mark hold kubelet kubectl
③kubeletを再起動する
sudo systemctl daemon-reload
sudo systemctl restart kubelet
④対象のworker Nodeをオンラインの状態にする
注意:コントロールプレーンで実施
kubectl uncordon rasp-node1.local
3)Worker Node(2台目)のアップグレードを行う
①上記のworker nodeと同様の作業を行う。
4)バージョンの確認を行う
対象のバージョン(1.23.1)になっていることが把握dけいる。
(以下のバージョンは、kubeletのバージョンを表す)
0 件のコメント:
コメントを投稿