kubernetes版からkubernetes版へのバージョンアップ(Rel-20.05以降)

アップデート用スクリプトの確認

Rancherサーバに shield-update.sh が存在するか確認してください。 存在しない場合、下記コマンドにより取得してください。 存在する場合も、念のために最新版のスクリプトをダウンロードしてご利用頂くことを推奨します。

$ curl -O https://ericom-tec.ashisuto.co.jp/shield/shield-update.sh

アップデート用スクリプトの実行

アップデート用スクリプトを実行してください。

$ ./shield-update.sh

###### START ###########################################################
==================================================================
現在インストールされているバージョン: Rel-20.03.541
==================================================================
どのバージョンをセットアップしますか?
1: Rel-20.05.649
2: Rel-20.03.541

 番号で指定してください:1
Rel-20.05_Build:649 をセットアップします。
[start] change dir
pwd: /home/ubuntu
pwd: /home/ubuntu/ericomshield
[end] change dir
BRANCH: Rel-20.05
[start] get install scripts
[end] get install scripts
[start] check sysctl file
[start] exec sysctl script
Disabling swap
Removing swap partition, original fstab file could be found at /etc/fstab.bak
/etc/sysctl.d/30-ericom-shield.conf has been updated!
Values from /etc/sysctl.d/30-ericom-shield.conf have been applied!

警告

複数のバージョンを跨いでバージョンアップする場合でも、ターゲットバージョンは現在のインストール済みバージョンの1つ上になるように設定し、 1つずつ 上げていくようにしてください。

例:Rel-20.01からRel-20.05へバジョンアップする場合、Rel-20.01からRel-20.03、Rel-20.05へと順番にアップデートを繰り返してください。

複数台構成の場合、メッセージに表示されるコマンドを他のノードでも実行してください。実行が完了したら、「y」を入力して先に進んで下さい。

------------------------------------------------------------
(下記を他のノードでも実行してください。)

curl -s -OL https://ericom-tec.ashisuto.co.jp/shield/configure-sysctl-values.sh
chmod +x configure-sysctl-values.sh
sudo ./configure-sysctl-values.sh

------------------------------------------------------------

=================================================================================
先へ進んでよろしいですか? [y/N]:y

続いて、システムを停止することについての確認が行われます。よろしければ「y」を入力して先に進めてください。

###### START (update)###########################################################
BRANCH: Rel-20.05

=================================================================================
updateを実行します。よろしいですか?(Update前にShieldシステムを停止します。) [y/N]:y

システムを停止してアップデートが実行されます。完了するまで暫くおまちください。下記メッセージの表示で完了です。

New Version: Rel-20.05.649

Shield is not fully deployed
***************     Deploying Ericom Shield Repo:20.05.649 on System:456737a8-2b99-45a6-8706-b87e02ba8134 ...
***************     Deploying Shield Common *******************************
***************     Deploying Shield Farm Services *******************************
***************     Deploying Shield Management *******************************
***************     Deploying Shield Proxy *******************************
***************     Deploying Shield ELK *******************************
***************     Done!
NAME                    REVISION        UPDATED                         STATUS          CHART                   APP VERSION     NAMESPACE
shield-common           1               Tue Jun 16 06:28:38 2020        DEPLOYED        shield-20.05.649        20.05.649       common
shield-elk              1               Tue Jun 16 06:30:27 2020        DEPLOYED        shield-20.05.649        20.05.649       elk
shield-farm-services    1               Tue Jun 16 06:28:42 2020        DEPLOYED        shield-20.05.649        20.05.649       farm-services
shield-management       1               Tue Jun 16 06:29:20 2020        DEPLOYED        shield-20.05.649        20.05.649       management
shield-proxy            1               Tue Jun 16 06:29:53 2020        DEPLOYED        shield-20.05.649        20.05.649       proxy
[end] deploieng shield
[end] deploy shield
[start] get Default project id
DEFPROJECTID: c-ntqft:p-fvcxp
[end] get Default project id
[start] Move namespases to Default project
move namespases to Default project/ management
move namespases to Default project/ proxy
move namespases to Default project/ elk
move namespases to Default project/ farm-services
move namespases to Default project/ common
[end] Move namespases to Default project
[start] Waiting All namespaces are Deploied
[end] Waiting All namespaces are Deploied

【※確認※】 Rancher UI https://192.168.3.230:8443 をブラウザで開くか、
          /home/ubuntu/ericomshield/shield-status.sh 実行し、
          全てのワークロードが Acriveになることをご確認ください。

###### DONE ############################################################
###### DONE (update)############################################################
###### DONE (update)############################################################

Kubernetes のバージョンアップ

  • https://<Rancher Server のIPアドレス>:8443 へブラウザでアクセスし、Rancher UI を開いてログインしてください。

shield-update-kk01

  • 表示されているクラスタ名の右端にある三点リーダをクリックし、 EDIT 選択してください。

shield-update-kk02

  • Kubernetes OptionsKubernetes version で、最新のバージョンが選択されていることを確認します。

k8s-ver-up

選択されていることを確認したら、 Save で保存をしてください。

  • ダッシュボード上部にクラスタがアップデートされている旨のメッセージが表示されます。 アップデートが終わると、メッセージは自動的に消えます。

Rancherのクラスタ設定変更

Rel-20.01以前から、Rel-20.01以降へのアップデートのみ

Rel-20.01より前のバージョンからRel-20.01以降のバージョンへアップデートする場合には、 Rancherのクラスタ設定を手動で変更する必要があります。

  • https://<Rancher Server のIPアドレス>:8443 へブラウザでアクセスし、Rancher UI を開いてログインしてください。

shield-update-kk01

  • 表示されているクラスタ名の右端にある三点リーダをクリックし、 EDIT 選択してください。

shield-update-kk02

  • 画面にある Edit as YAML をクリックしてください。

shield-update-kk03

  • 表示されたYAMLを下記のように変更してください。 編集箇所は kube-controllerkubelet セクションの extra_ards です。 赤枠で囲んだ文字列を追記してください。YAMLフォーマットのため、インデントは正確に設定してください。

注意

既に設定済みの値は変更しないように注意してください。

shield-update-kk04

 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 をクリックしてください。 ダッシュボードに戻ります。ダッシュボード上部にクラスタがアップデートされている旨のメッセージが表示されます。 アップデートが終わると、メッセージは自動的に消えます。

shield-update-kk05