第三回 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 |
FuelSlaveノードのプロビジョニング・OpenStack環境デプロイ
1.インストールを開始します。まずは、仮想マシンのController01とCoompute-Storage01を起動して下さい。
FuelSlaveノードはFuelMasterノードより、PXEブートでイメージを取得して起動します。
※以下の画像のようにPXEブートが開始されますが、コンソール上から操作する必要はありません。
イメージ起動後、FuelSlaveノードは自動的にFuelMasterノードに登録されます。
以降の作業は、FuelMasterノードのWebUI上から進めます。
2.管理用のWebUIにログインします。
Webブラウザから「https://FuelMasterノードのPublicネットワーク側IPアドレス:8443」へアクセスして下さい。
今回は、「192.168.81.131」へアクセスします。
まずは今回、構築するOpenStack環境を定義します。「New OpenStack Enviroment」をクリックして下さい。
3.作成するEnviromentの名前を定義します。入力後、「Next」をクリックして下さい。
4.インスタンスを起動されるハイパーバイザを選択します。「QEMU-KVM」のままで結構です。
「Next」をクリックして下さい。
5.Privateネットワークで利用する、OpenStackネットワークのプロトコルを選択します。
「Neutron with VLAN sagmentation」のチェックを外して、「Neutron with tunneling segmentation」をチェックして下さい。
チェック後、「Next」をクリックして下さい。
6.各コンポーネントのストレージ構成を設定します。今回は、そのままで「Next」をクリックして下さい。
7.オプションサービスの追加を選択します。
「install Sahara」、「install Murano」、「install Ceilometer」は必須ではありませんがご希望合わせて選択して下さい。
「Next」をクリックして次へ進んでください。
※ネットワークのセットアップで「Neutron with tunneling segmentation」を選択すると「Install Ironic」は選択できません。
9.Enviromentが作成されます。この中で、OpenStackの構成を定義します。
10.上部メニューの「EQUIPMENT」をクリックして下さい。登録されたFuelSlaveノードが一覧で表示されます。
11.FuelSlaveノードの名前を変更します。
今回は、仮想マシン名と同じくCPUx1のノードを「Controller01」に、CPUx2のノードを「Coompute-Storage01」に変更します。
1.(1)をクリックしてFuelMasterノードに登録する名前を変更します。
2.(2)をクリックするとノードの詳細情報が表示されます。
3.表示された詳細情報より、(3)をクリックして実際にノード内に設定されるHostnameを変更します。
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)のチェックを外して下さい。
13.Storage、Menagement、Privateの設定を行います。
1.今回は初期設定のネットワークアドレス利用しますのでアドレス設定はそのままです。
2.各ネットワークのVLANタグは無効にします。(1)、(2)、(3)のチェックを外し下さい。
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)をクリックしてネットワーク設定を保存します。
15.ハイパーバイザを設定します。「Settings」→「Compute」をクリックして下さい。
1.(1)の「KVM」をチェックして、(2)をクリックして設定を保存します。
16.OpenStack環境にノード追加します。 「Nodes」→ (1)の「add Nodes」をクリックして下さい。
17.まず、Controllerノードを定義します。
1.(1)の「controller」をチェックしてノードの役割を設定します。
※「7.オプションサービス」で「install Ceilometer」をチェックされた方は「Telemetry - MongoDB」もチェックして下さい。
2.(2)をチェックして対象のノードを選択します。今回は、先ほど名前を変更した「Controller01」を選択します。
3.選択後、(3)の「Apply Chenges」をクリックしてControllerノードの定義は完了します。
18.続いて、ComputeとStorageのノードを定義します。今回は、簡易構成として一台のノードにまとめます。
再度、「add Nodes」をクリックして下さい。
1.(1)と(2)をチェックしてノードの役割を設定します。
2.(3)をチェックして対象のノードを選択します。今回は、先ほど名前を変更した「Compute-Storage01」を選択します.
3.選択後、(4)の「Apply Chenges」をクリックしてComputeとStorageのノードの定義は完了します。
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) |
20.各ノードのネットワーク疎通確認を行い、問題が無いことを確認します。
1.「Networks」→(1)の「Connectivity Check」をクリックして、(2)の「Verify Networks」でネットワークの確認を実行します。
2.問題が無ければ、「Verification succeeded Your network ...」と表示されます。
※「Verification failed ...」が表示された場合は、「19.ネットワークの構成確認」を再度、行って下さい。
21.定義した構成を基に、OpenStackの構築(デプロイ)を開始します。
1.「Dashboard」より(1)の「Deploy Changes」をクリックして下さい。
2.最終確認のメッセージが表示されます。
デプロイを開始しますと、定義したネットワーク、ストレージ、コンピュートなどのopenStack環境の基本的な
設定が変更できなくなります。改めて構成の確認を行いたい場合は「Cancel」をクリックしてデプロイを
中止して下さい。特にPublicネットワークのIPアドレス設定は、お手元の環境に合わせているかを注意して下さい。
(2)の「Deploy」をクリックしてデプロイが開始されます。
22.デプロイが開始されます。
1.2~3時間ほどお待ち下さい。
2.正常に完了すると、「Dashboard」に(1)の「Success」メッセージが表示されます。
3.続いて、OpenStackの管理用のWebUIであるHorizonにアクセスします。(2)のリンクをクリックして下さい。
以降の作業は、Horizon上で行います。
OpenStack環境上でインスタンス起動・疎通確認
Mirantis OpenStackで構築したOpenStack環境は、基本的なネットワーク構成と、サンプルのイメージが登録された状態で展開されています。
Horizonを操作して、インスタンスの起動、Publicネットワークからアクセスできるかをテストします。
今回は、インスタンスへのICMP疎通確認とSSHログインをテストします。
23.Horizonにログインします。
ログインページより「ユーザー名: admin、パスワード: admin」でログインして下さい。
Horizon上からOpenStackへアクセスできます。
24.インスタンスへSSHログインするための認証用の鍵(キーペア)を作成します。
1.左側メニューより「プロジェクト」→「コンピュート」→(1)の「アクセスとセキュリティー」をクリックして下さい。
2.(2)の「キーペア」をクリックすると、キーペアの一覧が表示されます。
3.新規のキーペアを作成します。(3)の「キーペアの作成」をクリックして下さい。
4.(4)でキーペアの名前を決めて、(5)の「キーペアの作成」でキーペアを作成します。
5.作成完了に(6)のリンクより秘密鍵をダウンロードしてキーペアの作成は完了です。
25.インスタンスに紐付けるセキュリティーグループを編集します。
今回は、PublicネットワークからのICMPとSSHログインのアクセス許可を追加します。
1.「プロジェクト」→「コンピュート」→(1)の「アクセスとセキュリティー」をクリックして下さい。
2.(2)の「セキュリティーグループ」をクリックして下さい。
3.既存のセキュリティーグループ「default」を編集します。(3)の「ルールの管理」をクリックして下さい。
4.ポリシーの一覧が表示されます。(4)の「ルールの追加」をクリックしてポリシーを追加します。
5.(5)でICMPの受信許可のポリシーを定義して、(6)の「追加」をクリックして追加します。
6.(7)でSSHの受信許可のポリシーを定義して、(8)の「追加」クリックして追加します。
以上でセキュリティーグループの編集は完了します。
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)の「起動」をクリックして、インスタンス起動が開始されます。
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が割り当てられました。
28.Floating IP(192.168.81.137)が割り当てられるとセキュリティグループで許可された通信であれば、Publicネットワークらからアクセスすることが可能です。
今回は、ICMPとSSHの受信を許可しています。
Publicネットワーク上の端末から、コマンドプロンプトにてpingを実行すると疎通可能であることが確認できます。
29.続いて、SSHログインをテストします。今回は、SSHクライアントとして「Tera Term」を使用しました。
1.(1)に接続先のインスタンスのFloating IPを入力して、「OK」をクリックして下さい。
2.認証画面に入りましたら、(2)の「ユーザ名」は「cirros」として、(3)の「RSA/DSA/ECDSA/ED25519鍵を使う」
にチェックを入れて、「秘密鍵」は先ほど生成したキーペアより、ダウンロードした秘密鍵のファイルを
指定してください。「OK」をクリックしてログインして下さい。
3.問題が無ければ、インスタンスにログインできます。
(4)のインスタンス名と、(5)の内部ネットワークのIPが反映されていることが確認できます。
三回に渡って紹介しました「VM PlayerでMirantis OpenStack 8.0をインストール」は以上になります。
GUIでの操作を主として紹介させて頂きましたが、Mirantis OpenStackはCUIツールも用意されています。
今回は比較的簡易的な構成で進めましたが、ノード数やスペック、設定次第ではcontrollerノードの冗長化やcephを利用した分散ストレージ等、複雑な構成を作ることも可能です。
仮想環境上であれば、お手軽にOpenstack環境の検証ができますので宜しければ、お試し頂けますと幸いです。