« Nutanix スケーラビリティ、レジリエンシー、パフォーマンス の目次 | メイン | LenovoがSAP、Nutanixと連携します: インテリジェントエンタープライズの為のHCI »

2018/10/30

IBM Cloud Private 3.1 インストール方法(RHEL編)

ICP3.1インストール_RHEL編.md

今回はIBM Cloud Private 3.1(以下、ICPを記載します)のインストール方法をご紹介します。 ICPはいくつかのエディションがあります。

  • Community Edition
  • Cloud Native Edition
  • Enterprise Edition

今回はCloud Native Editionを使ってインストールをしていきます。 Community Editionは無償ですが本番用途では使用できないなど制約があります。


ICPの情報リソース

現段階ではあまり情報が公開されていません。IBMのKnowledge Centerがさくっとみられる情報です。
https://www.ibm.com/support/knowledgecenter/en/SSBS6K/product_welcome_cloud_private.html

今回はここにあるインストール手順を参考にインストールを行います。
※記載の手順と順番が異なる部分があります。あらかじめご了承ください。


構築する環境

2台のサーバーを使いICPをインストールします。

1台目:Master node (master,management,etcd,Proxy)
2台目:Worker node (Worker)
※インストール手順では、1台目を「Master」、2台目を「Worker」を表記します。

サーバーはどちらも同一スペックを用意しています。

OS RedHat Endterprise Linux 7.4
物理/仮想 仮想
CPU(Core) 8
Memory 24GB
Disk 300GB
NIC 1つ

FirewallとSELinuxについては無効にしています。


利用するファイル類の準備

今回はライセンス品になりますので、IBM社のサイトからダウンロードしてきます。
ICP用のDockerについてもIBM社から提供されますので、ICP本体とDockerファイルをダウンロードします。

  • IBM Cloud Private 3.1.0 for Linux (x86_64) Docker (CNW6SEN )
    Size : 8,839MB
  • IBM Cloud Private 3.1.0 Docker for Linux (x86_64) (CNVP4EN )
    Size : 141MB

今回これらのファイルは「/root/」に配置しています。

[root@tokyo-master01 ~]# ls -l /root total 9640628 -rw-------. 1 root root 1992 Oct 18 11:17 anaconda-ks.cfg -rw-r--r--. 1 root root 9268925381 Oct 2 10:19 ibm-cloud-private-x86_64-3.1.0.tar.gz -rwxr-xr-x. 1 root root 148057785 Oct 2 09:50 icp-docker-18.03.1_x86_64.bin -rw-r--r--. 1 root root 455008787 Sep 12 22:52 mcm-3.1.0_x86.tgz

※ ファイル名:mcm-3.1.0_x86.tgz は今回使用しません。


OSインストールで気を付けること

OSインストールではDiskパーティションの構成に気を付ける必要があります。 具体的には、「/」を250GB以上割り当てておかないとインストール時にWarningがでます。テスト用のインストールであれば、150GB程度でも動作しております。
今回の環境では下記のようにパーティションを設定しています。

[root@tokyo-master01 ~]# fdisk -l Disk /dev/sda: 322.1 GB, 322122547200 bytes, 629145600 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000c5d5b Device Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 629137407 313519104 8e Linux LVM Disk /dev/mapper/rhel_tokyo--master01-root: 268.4 GB, 268435456000 bytes, 524288000 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mapper/rhel_tokyo--master01-swap: 23.4 GB, 23416799232 bytes, 45735936 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mapper/rhel_tokyo--master01-home: 29.2 GB, 29183967232 bytes, 56999936 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes

インストール(Master/Worker共通)

すべてrootでログインして作業しています。


共通でやること

  • Pythonのインストール
  • Dockerのインストール
  • SSH鍵の交換
  • /etc/hostsを書く
  • SElinuxをとめる
  • Firewallをとめる
  • 再起動

Pythonのインストール

Pythonがインストールされていない場合はPythonを先にインストールします。
Pythonは3系にも対応しています。3系を利用する場合は「Python」コマンドでPython3が呼び出されるようにリンクを作成しておく必要があります。


Dockerのインストール


Dockerインストーラへの実行権限付与

ダウンロードしてきたDockerのインストーラには実行権限がないので実行権限を付与します(上記のファイルリスト上ではすでに権限を付与しています)

cd ~/ chmod +x icp-docker-18.03.1_x86_64.bin

Dockerのインストール

./icp-docker-18.03.1_x86_64.bin --install systemctl start docker systemctl enable docker

SSH鍵の交換


SSH鍵の作成

ssh-keygen -b 4096 -f ~/.ssh/id_rsa -N ""

許可された鍵のリストに追加

cat ~/.ssh/id_rsa.pub | sudo tee -a ~/.ssh/authorized_keys

各ノード間でSSH公開鍵をコピー

##サンプル ssh-copy-id -i ~/.ssh/id_rsa.pub <user>@<node_ip_address> ssh-copy-id -i ~/.ssh/id_rsa.pub root@xxx.xxx.xxx.xxx ssh-copy-id -i ~/.ssh/id_rsa.pub root@xxx.xxx.xxx.xxx

SSHの再起動

systemctl restart sshd

パスワードなしでお互いにログインできるか確認

ssh (Master or Worker IP)

SSH接続後、抜けるのを忘れずに行う

exit

/etc/hostsを指定する

/etc/hostsでMasterとWorkerが名前解決できるように設定します。

vi /etc/hosts ############# 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 # ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 # コメントアウト ## 追加する MasterIP MasterHostname WorkerIP WorkerHostName #############

SELinuxを止める

今回はざっくりと止めます。

vi /etc/selinux/config ########### # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # enforcingからdisabledに変更する # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted ###########

Firewallも止める

Firewallも止めてしまいます。

systemctl stop firewalld systemctl disable firewalld

再起動

OSを再起動します。

reboot

インストール(Master編)

ここから先はWorkerで作業をすることはありません。Masterのみで実行していきます。


DokcerコンテナのイメージをMasterに取り込む

cd ~/ tar xf ibm-cloud-private-x86_64-3.1.0.tar.gz -O | sudo docker load

※ 環境にもよりますが10~20分かかります。


取り込んだイメージの確認

docker images

※重要※イメージ名を確認

イメージ名に ibmcom/icp-inception- が含まれるイメージを確認してメモします。

docker images | grep ibmcom/icp-inception-
ibmcom/icp-inception-amd64 3.1.0-ee 481dbd525a28 4 weeks ago 744MB

ディレクトリを作成して移動

mkdir /opt/ibm-cloud-private-3.1.0 cd /opt/ibm-cloud-private-3.1.0/

イメージから構成ファイルを抽出

docker run -v $(pwd):/data -e LICENSE=accept ibmcom/icp-inception-amd64:3.1.0-ee cp -r cluster /data

ここで指定している ibmcom/icp-inception-amd64:3.1.0-ee が手順「※重要※イメージ名を確認」で確認したイメージ名になります。


作成されたフォルダ内のファイルリストを確認

ls -la /opt/ibm-cloud-private-3.1.0/cluster ### total 28 drwxr-xr-x 3 root root 4096 Sep 27 15:03 . drwxr-xr-x 3 root root 4096 Sep 27 15:03 .. -rw-r--r-- 1 root root 7452 Sep 27 15:03 config.yaml -rw-r--r-- 1 root root 104 Sep 27 15:03 hosts drwxr-xr-x 3 root root 4096 Sep 27 15:03 misc -r-------- 1 root root 1 Sep 27 15:03 ssh_key ###

クラスター内の各ノードのIPアドレスをすべて指定 /<installation_directory>/cluster/hosts ファイルに追加します。

ナレッジ︓ https://www.ibm.com/support/knowledgecenter/SSBS6K_3.1.0/installing/hosts.html

vi /opt/ibm-cloud-private-3.1.0/cluster/hosts
[master] xxx.xxx.xxx.xxx # MasterのIPを入力 [worker] xxx.xxx.xxx.xxx # WorkerのIPを入力 [proxy] xxx.xxx.xxx.xxx # MasterのIPを入力 #[management] #4.4.4.4 #[va] #5.5.5.5

※今回はProxyをMasterにインストールしています。


ICP ClusterにSSH秘密鍵をコピー

cp /root/.ssh/id_rsa /opt/ibm-cloud-private-3.1.0/cluster/ssh_key

インストールディレクトリに移動し、Imageフォルダを作成

cd /opt/ibm-cloud-private-3.1.0 mkdir -p cluster/images

作成したフォルダにインストールイメージファイルをコピー

mv ~/ibm-cloud-private-x86_64-3.1.0.tar.gz cluster/images/

コピーされていることを確認

ls cluster/images/

環境のデプロイ

cd ./cluster sudo docker run --net=host -t -e LICENSE=accept -v "$(pwd)":/installer/cluster ibmcom/icp-inception-amd64:3.1.0-ee install

ここで指定している ibmcom/icp-inception-amd64:3.1.0-ee が手順「※重要※イメージ名を確認」で確認したイメージ名になります。

インストールが完了すると下記のメッセージが表示されます。

PLAY RECAP ********************************************************************************************* xxx.xxx.xxx.xx0 : ok=164 changed=82 unreachable=0 failed=0 xxx.xxx.xxx.xx1 : ok=130 changed=62 unreachable=0 failed=0 localhost : ok=267 changed=163 unreachable=0 failed=0 POST DEPLOY MESSAGE ************************************************************************************ The Dashboard URL: https://xxx.xxx.xxx.xx0:8443, default username/password is admin/admin Playbook run took 0 days, 0 hours, 31 minutes, 27 seconds

管理コンソールログイン

インストール完了時に表示されたURLにWebブラウザでアクセスしてログインします。

  • ログインユーザー: admin
  • パスワード: admin

20181030_21h52_57




注意事項


docker loadするDockerイメージ名について

今回、Docker loadで下記のイメージ名を指定しています。 ibmcom/icp-inception-amd64:3.1.0-ee
[:]以下の値がバージョンになるのですが、このバージョンの指定が間違っていると latest のイメージをDocker Hubからダウンロードしてきてしまいます。
Docker Hubのイメージではインストールができないため、インストール時にエラーが発生してしまいます。 必ず、イメージをロード後、docker images | grep ibmcom/icp-inception- で保持しているイメージを確認してください。
※ IBM Knowledge Centerで指定しているイメージが今回利用したイメージ名と異なっているのでご注意ください。


Dockerのインストールに失敗したとき

Dockerのインストールに失敗することがあります。失敗の原因はパッケージが不足しているためですが、通常、yumが使える環境であれば自動的にパッケージをインストールします。
yumが利用できるように設定していただくか、インストールイメージもしくはDVDをマウントしていただいてDiskをyumのリポジトリとして利用できるようにしていただければと思います。



今回の内容は以上になります。次回はMulti Cloud Managerという製品を今回作成した環境にインストールしていきたいと思います。(すずきけ)

アクセスランキング

お問い合わせ先
ネットワールド ブログ運営事務局
blog.doc-info@networld.co.jp
フォトアルバム