この記事では IBM Cloud Private(ICP) v2.1.0.2 を 1台のUbuntu 16.04にインストールして動作を見るための手順です。
他のQiita記事でもICP導入手順はありますが、自分がやろうとしていたv2.1.0.2の手順が無かったことと、Ubuntu自体の設定の問題でうまく動かすことができなかったので、とりあえず動いた手順を共有したいと思います。
Ubuntuのインストール初期状態からICPを動かすことだけに専念しているので細かい解説はありませんのでご注意をお願いします。
UbuntuはMacのVM上で動かしてインストールしています。
動作環境
- MacBook Pro (15-inch,2016)
- CPU:2.9 GHz Intel Core i7
- メモリ:16GB
- Paralells Desktop v13.3.0 上のVMでUbuntuを稼働
- VM1: Ubuntu 16.04.4 (ubuntu-16.04.4-desktop-amd64.iso)
参考情報
Ubuntu導入
まずUbuntuを導入します。導入中の「あなたの名前」「コンピューターの名前」「ユーザー名の入力」は自由ですが、この手順ではこの設定の通り進めます。
クリーンインストール
- 言語選択画面で「日本語」を選択
- 「Ubuntuをインストール」を選択
- ようこそ画面で「日本語」を選択
- Ubuntuのインストール準備画面でそのまま「続ける」
- インストールの種類画面で「ディスクを削除してUbuntuをインストール」を選択して「インストール」
- ディスクに変更を書き込みますか?のダイアログで「続ける」
- どこに住んでいますか?でそのまま「続ける」
- キーボードレイアウトでそのまま「続ける」
- あなたの情報を入力して下さいで以下内容を入力して「続ける」
- あなたの名前:icpusr
- コンピューターの名前:icpmast
- ユーザー名の入力:icpusr
- パスワードの入力:任意
- パスワードの確認:任意
- (インストールが終わるまでしばらく待つ)
- インストールが完了しましたで「今すぐ再起動する」
Ubuntu設定
とりあえず root に変更
設定は面倒なので全部 root で行いました。
icpusr@icpmast:~$ sudo su -
[sudo] icpusr のパスワード:
root@icpmast:~#
IPv6の無効化
これをやらないとネットワークアクセスの度にいちいち遅くなるので無効化しました。
# vi /etc/sysctl.conf
以下内容を追記
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
設定変更したら設定反映して確認。cat
の実行結果で何も返ってこなければOK
root@icpmast:~# sudo sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
root@icpmast:~# cat /proc/net/if_inet6
root@icpmast:~#
Ubuntuデスクトップのネットワーク設定を開き「IPv6設定」タブを選択し、方式を「無視する」に設定して「保存」(CLI上でできるかもですが画面からやってしまいました)
dnsmasqの無効化
無効化しなくてもインストールはできそうなのですが、設定手順が増えるので無効にしました。
# vi /etc/NetworkManager/NetworkManager.conf
#dns=dnsmasq
ここで一旦再起動
# shutdown -r now
再起動が終わったらrootになっておいて下さい
$ sudo su -
Ubuntu をアップデートしておく
# apt-get update
# apt-get upgrade
# apt-get dist-upgrade
SSHインストール
# apt-get install openssh-server
ICPインストール
前準備
Dockerインストール
# apt-get install apt-transport-https \
ca-certificates \
curl \
software-properties-common
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo apt-key add -
# apt-key fingerprint 0EBFCD88
# add-apt-repository "deb [arch=amd64] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable"
# apt-get update
# apt-get install docker-ce=17.09.1~ce-0~ubuntu
hosts設定変更
vi /etc/hosts
127.0.1.1
と ::1
の頭に # を入れてコメントアウト
代わりに自分のIPアドレスとホスト名を追記(自分の環境は10.211.55.11)
10.211.55.11 icpmast
127.0.0.1 localhost
#127.0.1.1 icpmast
10.211.55.11 icpmast
# The following lines are desirable for IPv6 capable hosts
#::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
システムパラメータ変更
# sysctl vm.max_map_count
# sysctl -w vm.max_map_count=262144
# echo "vm.max_map_count=262144" | \
sudo tee -a /etc/sysctl.conf
# sysctl net.ipv4.ip_local_port_range
# sysctl -w net.ipv4.ip_local_port_range="10240 60999"
# echo 'net.ipv4.ip_local_port_range=10240 60999' | \
tee -a /etc/sysctl.conf
ICPのDockerイメージを取得して設定ファイルを抽出
# docker pull ibmcom/icp-inception:2.1.0.2
# mkdir /opt/ibm-cloud-private-ce-2.1.0.2
# cd /opt/ibm-cloud-private-ce-2.1.0.2
# docker run -e LICENSE=accept -v "$(pwd)":/data \
ibmcom/icp-inception:2.1.0.2 cp -r cluster /data
root@icpmast:/opt/ibm-cloud-private-ce-2.1.0.2# ls
cluster
root@icpmast:/opt/ibm-cloud-private-ce-2.1.0.2#
SSH Keyセットアップ
# ssh-keygen -b 4096 -f ~/.ssh/id_rsa -N ""
# cat ~/.ssh/id_rsa.pub | sudo tee -a ~/.ssh/authorized_keys
# cp ~/.ssh/id_rsa ./cluster/ssh_key
ICPインストール設定変更(hosts, config.yaml)
IPアドレスはご自身の環境のものに置き換えて下さい。ここでは、master, worker, proxy で同じIPを指定しています。
# cd cluster
# vi hosts
[master]
10.211.55.11
[worker]
10.211.55.11
[proxy]
10.211.55.11
#[management]
#4.4.4.4
#[va]
#5.5.5.5
ログイン時のパスワードを default_admin_password
で指定して下さい。
# vi config.yaml
## Advanced Settings
default_admin_user: admin
default_admin_password: admin
インストール実行
# docker run -e LICENSE=accept --net=host \
-t -v "$(pwd)":/installer/cluster \
ibmcom/icp-inception:2.1.0.2 install
インストール完了まで30分ぐらいかかりました。
:
:
PLAY RECAP *********************************************************************
10.211.55.11 : ok=225 changed=76 unreachable=0 failed=0
localhost : ok=181 changed=113 unreachable=0 failed=0
POST DEPLOY MESSAGE ************************************************************
The Dashboard URL: https://10.211.55.11:8443, default username/password is admin/adminin
Playbook run took 0 days, 0 hours, 52 minutes, 42 seconds
root@icpmast:/opt/ibm-cloud-private-ce-2.1.0.2/cluster#
ICP動作確認
インストール完了直後はまだ起動中の状態なのでしばらく待つ必要があります。
私の環境では、以下コマンドの結果が103になったときに Healthy 100% になります。
root@icpmast:/opt/ibm-cloud-private-ce-2.1.0.2/cluster# docker container ls | wc -l
103
起動が完了したらブラウザからhttps://10.211.55.11:8443
にアクセス。
左上のハンバーガーリストから「Dashboard」を選択するとグラフが出てきます。
インストール完了直後は「Deployments」のグラフを見ると Unhealthy% が高い状況ですがしばらく経つと改善されていきます。
ICPアンインストール
念のためアンインストール方法を書いておきます。
# cd /opt/ibm-cloud-private-ce-2.1.0.2/cluster
# docker run -e LICENSE=accept --net=host \
-t -v "$(pwd)":/installer/cluster \
ibmcom/icp-inception:2.1.0.2 uninstall
# service docker restart
おわりです頑張ってみて下さい。
最後に参考にさせて頂いたページをご紹介致します。お世話になりました。ありがとうございます。m(_ _)m