まず今回の記事では、OpenStackとMidoNetをそれぞれインストールするところまで実施していきます。
インストール
それでは、実際にOpenStackとMidoNetをインストールして使ってみましょう。全体の手順としては、大きく以下のようになっています。
- OpenStackのインストール
- MidoNetのインストール
- MidoNet Neutron Pluginのインストール
- OpenStack、MidoNetのネットワーク設定
- インスタンスの起動と疎通確認
今回実施するのは、1.と2.になります。
今回の動作確認のためのホスト環境構成
今回OpenStackおよびMidoNetがインストールされるホスト環境構成を説明します。まずは、構成やミドルウェアに関する前提を以下に示します。
- Zookeeper自体やCassandra自体の詳細や設定は、それだけで長編記事になるほどボリュームがありますし、詳しく記載されたドキュメントがすでに多数公開されているため、ここでは詳しく触れません。しかし、大規模データ処理の隆盛といった背景もあり分散処理を行うアーキテクチャが一般的になってきた現在、こういった分散コーディネーションサービスや分散データストアはますます重要性を増していますので、公式ドキュメント(Zookeeper、Cassandra)や他の詳解記事に一度は目を通しておいて損はありません。
- MidoNetは、仮想ネットワーク構成情報を保持するNetwork State Database(NSDB)や、外部ネットワークとの通信を担うGateway Nodeにクラスタ構成をとることで可用性を向上させることができますが、今回は手軽に試すことができるよう、台数を少なくして試します。実際に利用する際は可用性などを考慮して構成すると良いでしょう。
- 通常、MidoNetのコンポーネント間が通信する管理ネットワークと、ハイパーバイザホスト上のVM同士が通信するためのユーザネットワークは物理的に分けて構成しますが、今回は簡略化のため、1つだけで実施しています。そのため、実際に複数ネットワークで構成する場合は、MidoNetのtunnel zoneのメンバーには、ハイパーバイザホストのユーザネットワーク側のIPアドレスを指定します。
今回は構成の簡略化のためにできるだけ数を減らし、NSDBホストを1台、MidoNet Clusterホストを1台、ハイパーバイザホストを1台、Dockerホストを1台準備し、ハイパーバイザホスト上に構築したVMと、Dockerホストで起動したコンテナを同一の仮想レイヤ2ネットワークに所属させる構成にしてみます。
それぞれのホストの詳細は以下のとおりとします。
ホスト | 用途 | OpenStack(kilo)コンポーネント | MidoNetコンポーネント | OS | メモリ | IPアドレス |
---|---|---|---|---|---|---|
controller | 管理ホスト |
・Keystone ・Cinder ・Horizon ・Neutron ・Nova |
・MidoNet Cluster ・MidoNet CLI |
CentOS7 | 4GB | 10.170.9.6 |
nsdb | NSDBホスト | なし |
・Zookeeper ・Cassandra |
CentOS7 | 8GB | 10.170.9.10 |
compute1 | ハイパーバイザホスト1 | ・Nova | ・Midolman | CentOS7 | 8GB | 10.148.154.35 |
compute2 | ハイパーバイザホスト2 | ・Nova | ・Midolman | CentOS7 | 8GB | 10.170.9.11 |
gateway | ゲートウェイホスト | ・Neutron | ・Midolman | CentOS7 | 8GB | 10.148.154.39 |