6.2. kubernetes版からkubernetes版へのバージョンアップ(~Rel-20.03まで)¶
注意
バージョンアップを検討いただく場合には、本マニュアルの「2.システム要件」を参照して、バージョンアップを行うShieldバージョンのシステム要件のリソース(CPU、メモリ、SSD)を満たしていることをご確認ください。要件を満たしていない場合、Ericom Shieldがリソース不足により不安定となる問題が発生する可能性があります。
尚、各Shieldサーバのリソース構成が決まっておりリソース増強や変更が難しい等、システム要件を満たせない可能性がある場合は、バージョンアップを実施いただく前に、弊社サポートセンターへ必ずご相談ください。
注意
Rel-20.05以降へのバージョンアップは こちら の手順をご確認ください。
注意
セットアップする際は下記の点にご注意ください。
- sudo可能な一般ユーザでインストールを実施する(rootユーザでのインストールも可能 ※1)
- sudoは付けないでスクリプトを実行する
- インストール後は、インストールユーザで運用する
※1 rootになる際、"sudo su -" での実行は可能です。"sudo -s" での実行は、一般ユーザのカレントディレクトリや環境変数が引き継がれてしまうため不可となります。
6.2.2. shield-prepare-servers.sh による事前準備¶
バージョンアップ予定のバージョンに合わせて、shield-prepare-servers.sh を事前実行しておきます。 詳細な実行手順は 「5.1.5. shield-prepare-servers.sh による事前準備 」を参照してください。
6.2.3. アップデート用スクリプトの確認¶
Rancherサーバに shield-update.sh が存在するか確認してください。 存在しない場合、下記コマンドにより取得してください。 存在する場合も、念のために最新版のスクリプトをダウンロードしてご利用頂くことを推奨します。
$ curl -O https://ericom-tec.ashisuto.co.jp/shield/shield-update.sh
6.2.4. アップデート用スクリプトの実行¶
アップデート用スクリプトを実行してください。
$ ./shield-update.sh ###### START ########################################################### ================================================================== 現在インストールされているバージョン: Rel-19.09.570 ================================================================== どのバージョンをセットアップしますか? 2: Rel-19.09.578 2: Rel-19.09.570 3: Rel-19.07.554 番号で指定してください:1 Rel-19.09.578 をセットアップします。 BRANCH: Rel-19.09.4 [start] get install scripts [end] get install scripts [start] check sysctl file [end] check sysctl file [start] get yaml files [end] get yaml files [start] check yaml files 新しいyamlファイルと既存のファイルに差分がある可能性があります。下記ファイルを確認し、適切に編集後、shield-update.shを再実行してください。 diff_custom-farm.yaml diff_custom-management.yaml [end] check yaml files ###### DONE ############################################################
警告
複数のバージョンを跨いでバージョンアップする場合でも、ターゲットバージョンは現在のインストール済みバージョンの1つ上になるように設定し、 1つずつ 上げていくようにしてください。
例:Rel-19.09.5からRel-20.01.2へバジョンアップする場合、Rel-19.09.5からRel-19.11、Rel-19.12.1、Rel-20.01.2へと順番にアップデートを繰り返してください。
実行により現環境と、新バージョンのyamlファイルの比較が行われます。 差分が存在する場合、差分を記録したファイルが生成されますので、メッセージに従って、確認をしてください。
比較対象ファイル¶
- custom-common.yaml
- custom-farm.yaml
- custom-management.yaml
- custom-proxy.yaml
- custom-values-elk.yaml
旧バージョンのファイルが <ファイル名>_backup に変更され、 新バージョンのファイルが 新しくダウンロードされてきます。
差分が発生している場合、個別にカスタマイズした箇所があれば、それを新ファイルの該当箇所に再設定してください。 バージョンアップによる変更点も差分として表示されるため、心当たりの無い箇所については、そのままにしていただいて結構です。
6.2.5. Dockerログサイズの変更¶
Dockerログが肥大化することでShieldのサービス起動等ができなくなる可能性があるためDockerログサイズを変更することを強く推奨します。変更手順については こちら を参照ください。
6.2.6. アップデート用スクリプトの再実行¶
yamlファイルの差分を確認したら、shield-update.shをもう一度実行してください。
$ ./shield-update.sh ###### START ########################################################### ================================================================================= updateを実行します。よろしいですか? [y/N]:y
2回目の実行では実際のアップデート処理が行われます。
6.2.7. Rancherのクラスタ設定変更¶
Rel-20.01以前から、Rel-20.01以降へのアップデートのみ
Rel-20.01より前のバージョンからRel-20.01以降のバージョンへアップデートする場合には、 Rancherのクラスタ設定を手動で変更する必要があります。
https://<Rancher Server のIPアドレス>:8443
へブラウザでアクセスし、Rancher UI を開いてログインしてください。
- 表示されているクラスタ名の右端にある三点リーダをクリックし、
EDIT
選択してください。
- 画面にある
Edit as YAML
をクリックしてください。
- 表示されたYAMLを下記のように変更してください。 編集箇所は kube-controller と kubelet セクションの extra_ards です。 赤枠で囲んだ文字列を追記してください。YAMLフォーマットのため、インデントは正確に設定してください。
注意
既に設定済みの値は変更しないように注意してください。
kube-controller:
cluster_cidr: 10.42.0.0/16
service_cluster_ip_range: 10.43.0.0/16
extra_args:
node-monitor-grace-period: 10s
node-monitor-period: 10s
pod-eviction-timeout: 30s
kubelet:
cluster_dns_server: 10.43.0.10
extra_args:
max-pods: '110'
eviction-hard: 'memory.available<0.2Gi,nodefs.available<10%'
kube-reserved: 'cpu=1,memory=1Gi'
kube-reserved-cgroup: "/system"
system-reserved: 'cpu=1,memory=0.5Gi'
system-reserved-cgroup: "/system"
- 編集後、画面下部の
Save
をクリックしてください。 ダッシュボードに戻ります。ダッシュボード上部にクラスタがアップデートされている旨のメッセージが表示されます。 アップデートが終わると、メッセージは自動的に消えます。