kubernetes 1.16 -> 1.18 アップグレードメモ
前提として知っておくべき知識
- kubernetes のマイナーバージョンを飛ばしたアップグレードは不可能
- マスターとワーカーのノードのマイナーバージョンは 0.1 違いまで許される
- なので、1.16 -> 1.17 、1.17 -> 1.18 と 2 回のバージョンアップが必要
1.16 -> 1.17
準備
以下の問題にひっかかるので、 マスターノードの、 /var/lib/kubelet/config.yaml に以下の二行を追加
1 | featureGates: |
- https://stackoverflow.com/questions/59279546/kubeletnotready-failed-to-initialize-csinodeinfo
- https://github.com/kubernetes/kubeadm/issues/1795
実際のバージョンアップ
1.16 から 1.17.x にバージョンアップ。
マスター
1 | $ sudo apt-mark unhold kubeadm kubelet kubectl |
ワーカー
以下を 1 台ずつ、全台に対して行う
1 | $ kubectl drain <workername> --ignore-daemonsets --delete-local-data |
1.17 -> 1.18 へのバージョンアップ
ここまでの手順を 1.17.4 -> 1.18.1 (執筆時点)に変更して、再度実行する。