Kubernetesクラスターバージョンアップ¶
概要¶
kubeadmを使用したKubernetesクラスターのバージョンアップ手順。
前提条件¶
- コントロールプレーンノードへのSSHアクセス
- メンテナンスウィンドウの確保
- 現在のバージョンから1マイナーバージョンずつアップグレード
現在の構成¶
- 3 Control Plane nodes (cp-1, cp-2, cp-3)
- 3 Worker nodes (wk-1, wk-2, wk-3)
- CNI: Cilium
手順¶
1. 事前確認¶
2. コントロールプレーンのアップグレード(cp-1から)¶
# kubeadmのアップグレード
sudo apt update
sudo apt-cache madison kubeadm
sudo apt-get install -y kubeadm=<version>
# アップグレードプラン確認
sudo kubeadm upgrade plan
# アップグレード実行
sudo kubeadm upgrade apply v<version>
# kubelet, kubectlのアップグレード
sudo apt-get install -y kubelet=<version> kubectl=<version>
sudo systemctl daemon-reload
sudo systemctl restart kubelet
3. 残りのコントロールプレーン(cp-2, cp-3)¶
sudo kubeadm upgrade node
sudo apt-get install -y kubelet=<version> kubectl=<version>
sudo systemctl daemon-reload
sudo systemctl restart kubelet
4. ワーカーノードのアップグレード¶
# ノードをdrainする
kubectl drain <node-name> --ignore-daemonsets --delete-emptydir-data
# ノード上で実行
sudo apt-get install -y kubeadm=<version>
sudo kubeadm upgrade node
sudo apt-get install -y kubelet=<version> kubectl=<version>
sudo systemctl daemon-reload
sudo systemctl restart kubelet
# uncordon
kubectl uncordon <node-name>
5. 動作確認¶
ロールバック手順¶
TODO: ロールバック手順を記載