BETA

kubernetes 1.16 -> 1.18 アップグレードメモ

投稿日:2020-04-16
最終更新:2020-04-16

前提として知っておくべき知識

  • kubernetes のマイナーバージョンを飛ばしたアップグレードは不可能
  • マスターとワーカーのノードのマイナーバージョンは 1 違いまで許される
  • なので、1.16 -> 1.17 、1.17 -> 1.18 と2回のバージョンアップが必要

1.16 -> 1.17

準備

以下の問題にひっかかるので、 マスターノードの、 /var/lib/kubelet/config.yaml に以下の二行を追加

featureGates:  
  CSIMigration: false  

実際のバージョンアップ

1.16 から 1.17.x にバージョンアップ。

マスター

$ sudo apt-mark unhold kubeadm kubelet kubectl   
$ sudo apt update  
$ sudo apt install kubeadm=1.17.4-00 kubelet=1.17.4-00 kubectl=1.17.4-00  
$ sudo kubeadm upgrade plan   
(upgradeしてよいという表示がでるかチェック)  

$ sudo kubeadm upgrade apply v1.17.4  

ワーカー

以下を1台ずつ、全台に対して行う

$ kubectl drain <workername> --ignore-daemonsets --delete-local-data  
※ metrics-serverがひっかかるので、delete-local-dataを付けている。  
※ 当方の環境はデータは全てNFSなので問題無いが、セットアップによってはマズいかもしれない  

$ sudo apt-mark unhold kubelet kubectl kubeadm  
$ sudo apt update  
$ sudo apt install kubelet=1.17.4-00 kubectl=1.17.4-00 kubeadm=1.17.4-00  

$ kubectl uncordon <workername>  

1.17 -> 1.18 へのバージョンアップ

ここまでの手順を 1.17.4 -> 1.18.1 (執筆時点)に変更して、再度実行する。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

Webアプリケーション書いてます。インフラもやります。 私の投稿内の設定、コマンド、プログラム、スクリプト等は、商用、非商用を問わずご自由にお使い下さい。当方の著作権表示・許可等は一切不要です。 ただし、内容についていかなる保証もありません。(誤り指摘歓迎します)

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう