VM PlayerでMirantis OpenStack 8.0をインストール（第三回）

## 第三回　FuelSlaveノードのプロビジョニング・OpenStack環境デプロイ

今回は、OpenStackコンポーネントが稼働するFuelSlaveノードのプロビジョニング・OpenStack環境デプロイを行います。
OpenStack環境の構築後はOpenStack上でインスタンスを起動して、外部からアクセスできるかをテストします。
各ネットワークのネットワークアドレス、構成図は以下になります。

| ネットワーク名 | ネットワークアドレス | ゲートウェイ |
|:-:|:-:|:-:|
| Admin（PXE） | 10.20.0.0/24(初期設定をそのまま利用) | 無し |
| Public | 192.168.81.0/24 | 192.168.81.254 |
| Storage | 192.168.1.0/24(初期設定をそのまま利用) | 無し |
| Management | 192.168.0.0/24(初期設定をそのまま利用) | 無し |
| Private | 192.168.2.0/24(初期設定をそのまま利用) | 無し |

物理ネットワークより確保したPublicネットワークのIPアドレスは、今回は以下のように割当てます。

| 対象 | アドレスレンジ |
|:-:|:-:|
| FuelMasterノード | 192.168.81.131(割当て済) |
| FuelSlaveノード群 | 192.168.81.132~192.168.81.135 |
| Floating IP(OpenStack用) | 192.168.81.136~192.168.81.139 |

![install_p3_1.png](https://qiita-image-store.s3.amazonaws.com/0/121387/79ef11af-9e29-1e63-f7dd-8ad60ea23e38.png)

### FuelSlaveノードのプロビジョニング・OpenStack環境デプロイ

1.インストールを開始します。まずは、仮想マシンのController01とCoompute-Storage01を起動して下さい。
FuelSlaveノードはFuelMasterノードより、PXEブートでイメージを取得して起動します。
※以下の画像のようにPXEブートが開始されますが、コンソール上から操作する必要はありません。
イメージ起動後、FuelSlaveノードは自動的にFuelMasterノードに登録されます。
以降の作業は、FuelMasterノードのWebUI上から進めます。
![install23.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/adf847c0-010d-2846-4c39-d64464b8992f.jpeg)


2.管理用のWebUIにログインします。
Webブラウザから「https://**FuelMasterノードのPublicネットワーク側IPアドレス**:8443」へアクセスして下さい。
今回は、「192.168.81.131」へアクセスします。
まずは今回、構築するOpenStack環境を定義します。「New OpenStack Enviroment」をクリックして下さい。
![install25.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/3cc3faf1-d554-6740-6130-6543f334a568.jpeg)


3.作成するEnviromentの名前を定義します。入力後、「Next」をクリックして下さい。
![install30.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/b346870e-5c3d-da1f-9eb6-3e491462f34d.jpeg)


4.インスタンスを起動されるハイパーバイザを選択します。「QEMU-KVM」のままで結構です。
「Next」をクリックして下さい。
![install31.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/bee737ea-e35a-4eae-1d7d-b4c1d1f4647e.jpeg)


5.Privateネットワークで利用する、OpenStackネットワークのプロトコルを選択します。
「Neutron with VLAN sagmentation」のチェックを外して、「Neutron with tunneling segmentation」をチェックして下さい。
チェック後、「Next」をクリックして下さい。
![install33.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/ba81e6f8-702a-73b5-5768-64bc34091d83.jpeg)


6.各コンポーネントのストレージ構成を設定します。今回は、そのままで「Next」をクリックして下さい。
![install34.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/d4359169-c279-495d-974b-b1be7d3ee566.jpeg)


7.オプションサービスの追加を選択します。
「install Sahara」、「install Murano」、「install Ceilometer」は必須ではありませんがご希望合わせて選択して下さい。
「Next」をクリックして次へ進んでください。
※ネットワークのセットアップで「Neutron with tunneling segmentation」を選択すると「Install Ironic」は選択できません。
![install35.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/5cd7825a-4d95-30a7-494d-7f8a81f4752c.jpeg)


8.「Create」をクリックして作成開始です。
![install36.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/9995d557-b40d-8172-75ae-7712d86be5a3.jpeg)


9.Enviromentが作成されます。この中で、OpenStackの構成を定義します。
![install37.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/467dbe84-168d-ee47-0466-6c3ee761e52a.jpeg)


10.上部メニューの「EQUIPMENT」をクリックして下さい。登録されたFuelSlaveノードが一覧で表示されます。
![install26.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/c779ad4e-7bb3-8143-9e14-db931b1664ce.jpeg)


11.FuelSlaveノードの名前を変更します。
今回は、仮想マシン名と同じくCPUx1のノードを「Controller01」に、CPUx2のノードを「Coompute-Storage01」に変更します。

    1.(1)をクリックしてFuelMasterノードに登録する名前を変更します。
    2.(2)をクリックするとノードの詳細情報が表示されます。
    3.表示された詳細情報より、(3)をクリックして実際にノード内に設定されるHostnameを変更します。
![install27.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/7d25fc80-38bd-f6d9-af8e-65d42c2f7ff2.jpeg)

![install29.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/cd4ddba6-f7ce-9980-79b4-cb5b89c80aa7.jpeg)


12.OpenStack環境のネットワークを定義します。
上部メニューより「ENVIROMENTS」→「**作成したOpenStack環境**」→「Networks」をクリックして下さい。
Publicネットワークの設定を行います。予め物理ネットワークより確保しておいたアドレスを割当てます。
※割り当てるIPアドレスは、お手元の環境に合わせて変更して下さい。

    1.(1)にPublicネットワークアドレスを設定します。「192.168.81.0/24」
    2.(2)にFuelSlaveノードに割当てる開始IPを設定します。「192.168.81.132」
    3.(3)にFuelSlaveノードに割当てる終了IPを設定します。「192.168.81.135」
    4.(4)にPublicネットワークのゲートウェイアドレスを設定します。「192.168.81.254」
    5.今回はVLANタグは無効にします。(5)のチェックを外して下さい。
![install38.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/2343c19e-55a5-b432-eed9-336ccb0ce6a7.jpeg)


13.Storage、Menagement、Privateの設定を行います。

    1.今回は初期設定のネットワークアドレス利用しますのでアドレス設定はそのままです。
    2.各ネットワークのVLANタグは無効にします。(1)、(2)、(3)のチェックを外し下さい。
![install39.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/71c8aee1-d6e2-5432-f8b2-ad54d7f4518d.jpeg)

14.Floating IPを設定します。

    1.左側メニューより(1)の「Neutron L3」をクリックして下さい。
    2.(2)にFloating IPの開始IPを設定して下さい。「192.168.81.136」
    3.(3)にFloating IPの終了IPを設定しください。「192.168.81.139」
    4.(4)をクリックしてネットワーク設定を保存します。
![install41.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/77697c0e-8b20-0a77-7799-435d7b9f7ba2.jpeg)


15.ハイパーバイザを設定します。「Settings」→「Compute」をクリックして下さい。

    1.(1)の「KVM」をチェックして、(2)をクリックして設定を保存します。
![install61.png](https://qiita-image-store.s3.amazonaws.com/0/121387/b939d466-c453-843c-8970-c9788e4540ef.png)


16.OpenStack環境にノード追加します。 「Nodes」→ (1)の「add Nodes」をクリックして下さい。
![install42.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/89bdc4dd-b21b-f254-370c-baa7ec8961b4.jpeg)


17.まず、Controllerノードを定義します。

    1.(1)の「controller」をチェックしてノードの役割を設定します。
      ※「7.オプションサービス」で「install Ceilometer」をチェックされた方は「Telemetry - MongoDB」もチェックして下さい。
    2.(2)をチェックして対象のノードを選択します。今回は、先ほど名前を変更した「Controller01」を選択します。
    3.選択後、(3)の「Apply Chenges」をクリックしてControllerノードの定義は完了します。
![install44.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/bda9e570-0dc2-f3e9-9d73-8b78a0194528.jpeg)


18.続いて、ComputeとStorageのノードを定義します。今回は、簡易構成として一台のノードにまとめます。
再度、「add Nodes」をクリックして下さい。

    1.(1)と(2)をチェックしてノードの役割を設定します。
    2.(3)をチェックして対象のノードを選択します。今回は、先ほど名前を変更した「Compute-Storage01」を選択します.
    3.選択後、(4)の「Apply Chenges」をクリックしてComputeとStorageのノードの定義は完了します。
![install46-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/7e376328-71b7-8d0a-19a9-eec388a3916b.jpeg)


19.ノードの定義が完了しましたら、ノードのネットワーク構成を確認します。
今回は、初期設定をそのまま利用しますので変更は必要ありません。確認のみです。

    1.(1)をクリックするとノードの詳細設定が表示されます。
    2.表示された詳細設定より(2)をクリックするとノードの各ネットワークインターフェースの構成が表示されます。
      (7)をクリックするとノード一覧に戻ります。
    3.(3)「Controller01」と(4)「Compute-Storage01」のネットワークインターフェースの構成を確認して、
      (5)と(6)の、お互いの各ポートに割当てられているネットワーク名が、同じであることを確認して下さい。
      ※(5)、(6)のネットワーク名はドラック&ドロップで割り当てるポートを変更できます。(5)と(6)の割り当てが異なる
      場合は、(5)、(6)と同じ配置に変更して下さい。
    4.また、「Controller01」と「Compute-Storage01」の仮想マシンのネットワークの構成の(8)より、各ネットワークアダプタの
      (9)「ネットワーク接続」が以下の表と同じであることを確認して下さい。

| 仮想NIC | Controller01 | Compute-Storage01 |
|:-:|:-:|:-:|
| ネットワークアダプタ | LANセグメント(Admin) | LANセグメント(Admin) |
| ネットワークアダプタ2 | ブリッジ ※Public | ブリッジ ※Public |
| ネットワークアダプタ3 | LANセグメント(Storage) | LANセグメント(Storage) |
| ネットワークアダプタ4 | LANセグメント(Management) | LANセグメント(Management) |
| ネットワークアダプタ5 | LANセグメント(Private) | LANセグメント(Private) |

![install47.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/06ea5986-0d3c-28e2-690c-44764e3f4553.jpeg)

![install48.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/ed8dfbfa-25f1-ee11-a053-c41d69aac607.jpeg)

![install70-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/f9c34e34-74ec-2d68-09ff-af081f55778c.jpeg)


![install71.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/8f8b02cb-9bf5-9bea-f9d9-3b7cee0f6c2a.jpeg)





20.各ノードのネットワーク疎通確認を行い、問題が無いことを確認します。

    1.「Networks」→(1)の「Connectivity Check」をクリックして、(2)の「Verify Networks」でネットワークの確認を実行します。
    2.問題が無ければ、「Verification succeeded Your network ...」と表示されます。
      ※「Verification failed ...」が表示された場合は、「19.ネットワークの構成確認」を再度、行って下さい。
![install51-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/3ee2745d-9633-2849-46c1-ca3f1259f0c8.jpeg)

![install53.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/9961328e-7040-bce6-72f8-242ad77bd15f.jpeg)


21.定義した構成を基に、OpenStackの構築(デプロイ)を開始します。

    1.「Dashboard」より(1)の「Deploy Changes」をクリックして下さい。
    2.最終確認のメッセージが表示されます。
      デプロイを開始しますと、定義したネットワーク、ストレージ、コンピュートなどのopenStack環境の基本的な
      設定が変更できなくなります。改めて構成の確認を行いたい場合は「Cancel」をクリックしてデプロイを
      中止して下さい。特にPublicネットワークのIPアドレス設定は、お手元の環境に合わせているかを注意して下さい。
      (2)の「Deploy」をクリックしてデプロイが開始されます。
![install54.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/834f8693-6d0e-b4a1-494c-605a61e89d90.jpeg)
![install55.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/901b78ee-6668-9842-014a-c9a8aa7152fa.jpeg)


22.デプロイが開始されます。

    1.2~3時間ほどお待ち下さい。
    2.正常に完了すると、「Dashboard」に(1)の「Success」メッセージが表示されます。
    3.続いて、OpenStackの管理用のWebUIであるHorizonにアクセスします。(2)のリンクをクリックして下さい。
      以降の作業は、Horizon上で行います。
![install56.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/5ac6d532-4fe6-15be-cf16-ea7f1fc3b30e.jpeg)

![install63-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/375d5a79-bba3-4631-0eb6-a7b43e46850a.jpeg)


### OpenStack環境上でインスタンス起動・疎通確認
Mirantis OpenStackで構築したOpenStack環境は、基本的なネットワーク構成と、サンプルのイメージが登録された状態で展開されています。
Horizonを操作して、インスタンスの起動、Publicネットワークからアクセスできるかをテストします。
今回は、インスタンスへのICMP疎通確認とSSHログインをテストします。

![install_p3_2_1.png](https://qiita-image-store.s3.amazonaws.com/0/121387/16db8faf-ed2e-32f3-a5d2-f032dd14cafa.png)


23.Horizonにログインします。
ログインページより「ユーザー名: admin、パスワード： admin」でログインして下さい。
Horizon上からOpenStackへアクセスできます。

![install65.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/cf5bfadc-223e-0390-2bc5-5b19805df9ae.jpeg)

![install66.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/e46a097c-2f99-f0c9-9d45-d8d3489b4929.jpeg)


24.インスタンスへSSHログインするための認証用の鍵(キーペア)を作成します。

     1.左側メニューより「プロジェクト」→「コンピュート」→(1)の「アクセスとセキュリティー」をクリックして下さい。
     2.(2)の「キーペア」をクリックすると、キーペアの一覧が表示されます。
     3.新規のキーペアを作成します。(3)の「キーペアの作成」をクリックして下さい。
     4.(4)でキーペアの名前を決めて、(5)の「キーペアの作成」でキーペアを作成します。
     5.作成完了に(6)のリンクより秘密鍵をダウンロードしてキーペアの作成は完了です。
![openstack_06.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/cf518daf-6e1d-bf2f-43f8-f059fb69ab66.jpeg)

![openstack_07.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/7e52f6d5-be48-7ab0-616e-0a75646c3c8d.jpeg)

![openstack_08.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/4100df4e-7223-dede-c34c-2bfb7a3aed10.jpeg)

25.インスタンスに紐付けるセキュリティーグループを編集します。
今回は、PublicネットワークからのICMPとSSHログインのアクセス許可を追加します。

    1.「プロジェクト」→「コンピュート」→(1)の「アクセスとセキュリティー」をクリックして下さい。
    2.(2)の「セキュリティーグループ」をクリックして下さい。
    3.既存のセキュリティーグループ「default」を編集します。(3)の「ルールの管理」をクリックして下さい。
    4.ポリシーの一覧が表示されます。(4)の「ルールの追加」をクリックしてポリシーを追加します。
    5.(5)でICMPの受信許可のポリシーを定義して、(6)の「追加」をクリックして追加します。
    6.(7)でSSHの受信許可のポリシーを定義して、(8)の「追加」クリックして追加します。
      以上でセキュリティーグループの編集は完了します。
![openstack_01.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/59996b89-49f5-fc01-22f7-98ab422ac1a8.jpeg)

![openstack_02.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/4e3d133a-49d8-b48b-906f-9f9a1eea06ad.jpeg)

![openstack_03.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/11e9057e-4e7f-b0a0-d36b-e8280a858a22.jpeg)


26.インスタンスを起動します。
今回は、Mirantis Open Stack環境で、初期状態から登録済のイメージを利用してインスタンスを起動します。

    1.「プロジェクト」→「コンピュート」→(1)の「イメージ」をクリックして登録されているイメージ一覧を表示します。
    2.イメージ名が(2)「Testvm」を確認して、(3)のインスタンス起動をクリックして下さい。
    3.インスタンスの構成を定義します。(4)にインスタンス名を定義して下さい。
      今回は、「testvm01」としています。
    4.セキュリティを定義します。(5)の「アクセスとセキュリティー」をクリックして、先ほど作成したキーペアを(6)で選択、
      (7)でセキュリティグループの「default」をチェックして下さい。
    5.ネットワークを定義します。(8)の「ネットワーク」をクリックして、
     (9)の「選択済みネットワーク」に「admin_internal_net」をドラッグ＆ドロップして下さい。
    6.最後に(10)の「起動」をクリックして、インスタンス起動が開始されます。
![openstack_09.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/ec889c9c-830a-abbc-ab8e-ea2cb9fc18a2.jpeg)

![openstack_10.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/d0e8b1c0-0384-dd06-294c-3036a04b856f.jpeg)

27.起動したインスタンスは、内部ネットワーク用のIPが割り当てられていますが、この状態ではOpenStack環境の外からはアクセスできません。
PublicネットワークからアクセスできるようにFloating IPを紐付けます。

    1.作成したインスタンス(1)より、(2)のプルダウンをクリックして(3)の「Floating IPの割り当て」をクリックして下さい。
    2.Floting IPを確保します。(4)の「+」をクリックして下さい。
    3.(5)のプールが「admin_floating_net」であることを確認して(6)の「IPの確保」をクリックして下さい。
    4.今回確保されたIPは、「192.168.81.137」です。(7)でIPが確保されいることを確認して
      (8)の「割り当て」をクリックして下さい。
    5.(9)インスタンスにFloating IPが割り当てられました。
![openstack_14.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/549707bc-5e06-78d8-a9bd-2b76510ed7c5.jpeg)

![openstack_15.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/4b8fdcca-3cb2-b0db-e8a5-7531f5a636aa.jpeg)

![openstack_18.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/7aff3f1b-2825-46b5-6ca1-f03cb2ffd86c.jpeg)


28.Floating IP(192.168.81.137)が割り当てられるとセキュリティグループで許可された通信であれば、Publicネットワークらからアクセスすることが可能です。
今回は、ICMPとSSHの受信を許可しています。
Publicネットワーク上の端末から、コマンドプロンプトにてpingを実行すると疎通可能であることが確認できます。
![openstack_19.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/6daa3973-ac6b-1c91-0271-023cecf51de8.jpeg)


29.続いて、SSHログインをテストします。今回は、SSHクライアントとして「Tera Term」を使用しました。

    1.(1)に接続先のインスタンスのFloating IPを入力して、「OK」をクリックして下さい。
    2.認証画面に入りましたら、(2)の「ユーザ名」は「cirros」として、(3)の「RSA/DSA/ECDSA/ED25519鍵を使う」
      にチェックを入れて、「秘密鍵」は先ほど生成したキーペアより、ダウンロードした秘密鍵のファイルを
      指定してください。「OK」をクリックしてログインして下さい。
    3.問題が無ければ、インスタンスにログインできます。
      (4)のインスタンス名と、(5)の内部ネットワークのIPが反映されていることが確認できます。
![openstack_20.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/4207ba93-df58-6788-55b2-ab73a416407a.jpeg)

![openstack_22.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/3e4cbfbc-2e39-a08f-1177-4b0700d80363.jpeg)

![openstack_23.jpg](https://qiita-image-store.s3.amazonaws.com/0/121387/f4e2a135-1fad-f499-180c-341f18204616.jpeg)


三回に渡って紹介しました「VM PlayerでMirantis OpenStack 8.0をインストール」は以上になります。
GUIでの操作を主として紹介させて頂きましたが、Mirantis OpenStackはCUIツールも用意されています。
今回は比較的簡易的な構成で進めましたが、ノード数やスペック、設定次第ではcontrollerノードの冗長化やcephを利用した分散ストレージ等、複雑な構成を作ることも可能です。
仮想環境上であれば、お手軽にOpenstack環境の検証ができますので宜しければ、お試し頂けますと幸いです。