5.1. 事前準備¶
5.1.2. Proxy環境下でのセットアップ準備¶
Ericom ShieldをProxyサーバの環境下でセットアップする場合、/etc/environment にProxyの設定が行われている必要があります。(セットアップユーザの環境変数だけでは不足です。) また、Dockerサービスについては、個別に設定の必要があります。必ず事前に下記設定を実施してください。
環境変数へのProxy設定¶
下記コマンドでファイルを編集してください。
$ sudo vi /etc/environment
<設定ファイル>
/etc/environment
<以下記載サンプル>
《追記》
http_proxy="http://***.***.***.***:****"
https_proxy="http://***.***.***.***:****"
no_proxy="http://***.***.***.***:****"
HTTP_PROXY="http://***.***.***.***:****"
HTTPS_PROXY="http://***.***.***.***:****"
NO_PROXY="http://***.***.***.***:****"
※「***.***.***.***」「****」は実際の環境に合わせて、プロキシサーバのアドレスとポートを設定してください。
一旦ログオフし、再ログインすることで設定を反映してください。
注意
Rancherサーバではインストール中にRancherサーバ自身へのhttp通信を行います。 プロキシの設定を行う場合、自身のアドレスを除外するようにしてください。
DockerへのProxy設定¶
下記コマンドで新規ディレクトリ・ファイルを作成してください。
$ sudo mkdir -p /etc/systemd/system/docker.service.d/
$ sudo vi /etc/systemd/system/docker.service.d/http-proxy.conf
<設定ファイル>
/etc/systemd/system/docker.service.d/http-proxy.conf
<以下記載サンプル>
[Service]
Environment="HTTP_PROXY=http://***.***.***.***:****/" "HTTPS_PROXY=http://***.***.***.***:****/" "NO_PROXY=x.x.x.x,y.y.y.y,z.z.z.z"
※「***.***.***.***:****」は実際の環境に合わせて、プロキシサーバのアドレスとポートを設定してください。
※ 全てのノードのIPおよびlocalhostと127.0.0.1を設定
Tips
もし事前にDockerがインストール済みであった場合、下記コマンドにより、dockerサービスを再起動してください。(通常は必要ありません。)
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
スクリプトを利用したProxy設定¶
Proxyの設定は上記2項目を手動設定していただければ問題ありませんが、より簡易に導入していただくために、Ericom社よりスクリプトが提供されています。 下記手順に従って実行することで、設定が可能です。
まずは下記手順でスクリプトを入手してください。
【Ubuntuの場合】
$ wget -e https_proxy=***.***.***.***:*** [--proxy-user=ユーザ名 --proxy-password=パスワード] https://ericom-tec.ashisuto.co.jp/shield/proxy.py
【CentOSの場合】
$ wget -e https_proxy=***.***.***.***:*** [--proxy-user=ユーザ名 --proxy-password=パスワード] https://ericom-tec.ashisuto.co.jp/shield/proxy-cent.py
注意
https_proxy=***.***.***.***:*** は実際の環境に合わせてプロキシサーバアドレスとポートを入力してください。
[–proxy-user=ユーザ名 –proxy-password=パスワード] は必要に応じて入力してください。
こちらからも入手可能です。
- https://ericom-tec.ashisuto.co.jp/shield/proxy.py
- https://ericom-tec.ashisuto.co.jp/shield/proxy-cent.py
こちらでダウンロードした場合はスクリプトを対象サーバに配置してください。
続いて、下記コマンドを実行してください。
$ chmod +x ./proxy.py
$ sudo ./proxy.py
または、
$ chmod +x ./proxy-cent.py
$ sudo ./proxy-cent.py
実行した後は下記のような流れで設定をしてください。
1:) Set Proxy
2:) Remove Proxy
3:) Restore Default
4:) Exit
choice (1/2/3/4) : 1 →→ 設定は1を選択
Enter proxy : ***.**.**.*** →→ ProxyのIPを設定
Enter port : **** →→ Proxyのポートを設定
Enter IPs separated by ',' for direct access: x.x.x.x,y.y.y.y,z.z.z.z →→ 全てのノードのIPおよびlocalhostと127.0.0.1を設定
Enter username : →→ 認証Proxyの場合はユーザ名。なければ空のままエンター
Enter password : →→ 認証Proxyの場合はパスワード。なければ空のままエンター
DONE!
「DONE!」と表示されれば設定完了です。 下記コマンドを実行し、利用中のシェルに設定を即時反映してください。
$ source /etc/bash.bashrc
注意
Rancherサーバではインストール中にRancherサーバ自身へのhttp通信を行います。 プロキシの設定を行う場合、自身のアドレスを除外するようにしてください。
5.1.3. localeの設定¶
日本語でlocaleを設定している場合、一部のコマンドでエラーとなる場合があります。サーバを準備する場合はen_USでlocaleを設定して構築してください。 もし既に構築したサーバのlocaleが異なる場合、下記の手順に従って変更してください。
$ sudo update-locale LANGUAGE=en_US:en LANG=en_US.UTF-8
変更後はターミナルに再ログインするか、下記コマンド反映させてください。
$ source /etc/default/locale
5.1.4. prepare-node.sh によるセットアップ事前準備¶
セットアップを開始する前に、下記手順により、全てのノードの事前準備を行って下さい。
パスワードは任意の文字列を全てのノードで共通で設定してください。
スクリプトの実行が完了したらメッセージに従い、ノードを再起動してください。
$ curl -O https://ericom-tec.ashisuto.co.jp/shield/prepare-node.sh
$ chmod 755 ./prepare-node.sh
$ sudo ./prepare-node.sh
################################################### Create Ericom user #################################
Adding user `ericom' ...
Adding new group `ericom' (1001) ...
Adding new user `ericom' (1001) with group `ericom' ...
Creating home directory `/home/ericom' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:*****************
Retype new UNIX password:*****************
passwd: password updated successfully
########################## ericom Going to prepare super user #########################################
ericom ALL=(ALL:ALL) NOPASSWD: ALL
################################################### Changeing sshd_conf #################################
################################################### Changing to the symbolic link. /etc/resolv.conf #################################
[start] Changing to the symbolic link.
[INFO]/etc/resolv.conf is symlink
[WARN] nameserver is local stub!
[INFO] /run/systemd/resolve/resolv.conf exist!
[INFO] Changed to symlink
ノードを再起動してください。
5.1.5. shield-prepare-servers.sh による事前準備¶
実際の導入を行う前に、OSへの必要な設定は基盤となるDockerの導入などを行います。導入する予定のバージョンを選択して実行してください。
※ここで選択したバージョンと、この後実際にShieldを導入する時に選択するバージョンは一致している必要があります。
また、IPアドレスを指定する箇所については、最初の1台では、自分のIPアドレスを除くその他全てのノードのIPアドレスを指定してください。そして、別の1台にて同様にスクリプトを実行し、そこで1台目のIPアドレスを指定してください。
【実行例:1台目のノード】
$ curl -O https://ericom-tec.ashisuto.co.jp/shield/shield-prepare-servers.sh
$ chmod 755 ./shield-prepare-servers.sh
$ ./shield-prepare-servers.sh
###### START ###########################################################
[start] Changing to the symbolic link.
[INFO]/etc/resolv.conf is symlink
[INFO ] nameserver is not local stub! Continue!
[end] Changing to the symbolic link.
==================================================================
現在インストールされているバージョン: N/A
==================================================================
[info] shield-prepare-serversは未実行。
==================================================================
どのバージョンをセットアップしますか?
1: Rel-21.04_Build:758
2: Rel-21.01_Build:744
3: Rel-21.01_Build:743
4: Rel-21.01_Build:742
5: Rel-20.10_Build:685
6: Rel-20.07_Build:669
7: Rel-20.07_Build:667
8: Rel-20.05_Build:650
9: Rel-20.05_Build:649
10: Rel-20.03_Build:639
11: Rel-20.01.2_Build:622
番号で指定してください: 1
Rel-21.04_Build:758 をセットアップします。
[start] change dir
pwd: /home/ubuntu
pwd: /home/ubuntu/ericomshield
[end] change dir
BRANCH: Rel-21.04
BUILD: 758
[start] Geting shield-prepaer-servers.
[end] Geting shield-prepaer-servers.
[start] install expect
expect is already installed
[end] install expect
他のノードに対する事前処理を行います。
自ノードに対する事前処理は別のノードから実行してください。
=====================================================
追加するノードのIPアドレスを半角スペースで区切って入力してください。
[ex:) 192.168.100.22 192.168.100.33]: 192.168.100.2 192.168.100.3 ★自分のIPを除く他のノード全てのIPを指定
ericomユーザのパスワードを入力: ★ericomユーザのパスワードを入力してください。
Connection to 192.168.66.78 closed.
[start] change dir
pwd: /home/ubuntu
pwd: /home/ubuntu/ericomshield
[end] change dir
[Info] このノードから shield-preapre-servers を実行します。
[sudo] password for ubuntu: ★スクリプト実行ユーザのパスワード(sudo実行のため)を入力してください。
spawn /bin/bash -c sudo -k -p sudo-pass: /home/ubuntu/ericomshield/shield-prepare-servers -u ericom 192.168.100.2 192.168.100.3
sudo-pass:
SSH password:
BECOME password[defaults to SSH password]:
PLAY [Prepare Servers for Ericom Shield] **************************************************************************************************************************************************
TASK [Gathering Facts] ***********************************************************************************************************************************************************************
ok: [192.168.100.2]
ok: [192.168.100.3]
TASK [Shield_Node : Include distribution specific variables] *******************************************************************************************************************************
ok: [192.168.100.2] => (item=/tmp/.mount_shieldty2O9H/ansible_playbooks/roles/Shield_Node/vars/../vars/Ubuntu-18.04.yaml)
ok: [192.168.100.3] => (item=/tmp/.mount_shieldty2O9H/ansible_playbooks/roles/Shield_Node/vars/../vars/Ubuntu-18.04.yaml)
TASK [Shield_Node : Include distribution specific install] ***********************************************************************************************************************************
included: /tmp/.mount_shieldty2O9H/ansible_playbooks/roles/Shield_Node/tasks/Ubuntu-18.04.yaml for 192.168.100.2
included: /tmp/.mount_shieldty2O9H/ansible_playbooks/roles/Shield_Node/tasks/Ubuntu-18.04.yaml for 192.168.100.3
〜中略〜
TASK [Shield_Node : Reboot node(s)] ********************************************************************************************************************************************************
changed: [192.168.100.2]
changed: [192.168.100.3]
TASK [Shield_Node : Wait for apt-daily-upgrade] ********************************************************************************************************************************************
changed: [192.168.100.2]
changed: [192.168.100.3]
TASK [Shield_Node : Clean up] ****************************************************************************************************************************************************************
ok: [192.168.100.2]
ok: [192.168.100.3]
PLAY RECAP *************************************************************************************************************************************************************************************
192.168.100.2 : ok=22 changed=13 unreachable=0 failed=0 skipped=11 rescued=0 ignored=0
192.168.100.3 : ok=22 changed=13 unreachable=0 failed=0 skipped=11 rescued=0 ignored=0
=================================================================================
###### DONE ############################################################
【実行例:2台目のノード】
$ curl -O https://ericom-tec.ashisuto.co.jp/shield/shield-prepare-servers.sh
$ chmod 755 ./shield-prepare-servers.sh
$ ./shield-prepare-servers.sh
###### START ###########################################################
[start] Changing to the symbolic link.
[INFO]/etc/resolv.conf is symlink
[INFO ] nameserver is not local stub! Continue!
[end] Changing to the symbolic link.
==================================================================
現在インストールされているバージョン: N/A
==================================================================
[info] shield-prepare-serversは未実行。
==================================================================
どのバージョンをセットアップしますか?
1: Rel-21.04_Build:758
2: Rel-21.01_Build:744
3: Rel-21.01_Build:743
4: Rel-21.01_Build:742
5: Rel-20.10_Build:685
6: Rel-20.07_Build:669
7: Rel-20.07_Build:667
8: Rel-20.05_Build:650
9: Rel-20.05_Build:649
10: Rel-20.03_Build:639
11: Rel-20.01.2_Build:622
番号で指定してください: 1
Rel-21.04_Build:758 をセットアップします。
[start] change dir
pwd: /home/ubuntu
pwd: /home/ubuntu/ericomshield
[end] change dir
BRANCH: Rel-21.04
BUILD: 758
[start] Geting shield-prepaer-servers.
[end] Geting shield-prepaer-servers.
[start] install expect
expect is already installed
[end] install expect
他のノードに対する事前処理を行います。
自ノードに対する事前処理は別のノードから実行してください。
=====================================================
追加するノードのIPアドレスを半角スペースで区切って入力してください。
[ex:) 192.168.100.22 192.168.100.33]: 192.168.100.1 ★1台目のノードのIPだけを指定してください。
ericomユーザのパスワードを入力: ★ericomユーザのパスワードを入力してください。
Connection to 192.168.66.78 closed.
[start] change dir
pwd: /home/ubuntu
pwd: /home/ubuntu/ericomshield
[end] change dir
[Info] このノードから shield-preapre-servers を実行します。
[sudo] password for ubuntu: ★スクリプト実行ユーザのパスワード(sudo実行のため)を入力してください。
spawn /bin/bash -c sudo -k -p sudo-pass: /home/ubuntu/ericomshield/shield-prepare-servers -u ericom 192.168.100.1
sudo-pass:
SSH password:
BECOME password[defaults to SSH password]:
PLAY [Prepare Servers for Ericom Shield] **************************************************************************************************************************************************
TASK [Gathering Facts] ***********************************************************************************************************************************************************************
ok: [192.168.100.1]
TASK [Shield_Node : Include distribution specific variables] *******************************************************************************************************************************
ok: [192.168.100.1] => (item=/tmp/.mount_shieldty2O9H/ansible_playbooks/roles/Shield_Node/vars/../vars/Ubuntu-18.04.yaml)
TASK [Shield_Node : Include distribution specific install] ***********************************************************************************************************************************
included: /tmp/.mount_shieldty2O9H/ansible_playbooks/roles/Shield_Node/tasks/Ubuntu-18.04.yaml for 192.168.100.1
〜中略〜
TASK [Shield_Node : Reboot node(s)] ********************************************************************************************************************************************************
changed: [192.168.100.1]
TASK [Shield_Node : Wait for apt-daily-upgrade] ********************************************************************************************************************************************
changed: [192.168.100.1]
TASK [Shield_Node : Clean up] ****************************************************************************************************************************************************************
ok: [192.168.100.1]
PLAY RECAP *************************************************************************************************************************************************************************************
192.168.100.1 : ok=22 changed=13 unreachable=0 failed=0 skipped=11 rescued=0 ignored=0
=================================================================================
###### DONE ############################################################
Tips
対象ノードにdocker-ceを検知した場合、dockerの入替を行うためにアンインストール処理が実行されます。アンインストール処理の最後でノードの再起動が行われますので、再起動後、再度同じ手順で shield-prepare-servers.sh を実行してください。
繰り返し、docker-ce が検知される場合は、何らかの問題が発生していますので、サポートセンターまでお問い合わせください。