midonetをインストールして基本コマンドを叩いてみる
midonetをインストールして基本コマンドを叩いてみるということで、今回all-in-oneのmidostackを使用して簡単に検証してみたいと思います。
midnetの概要から知りたい!という方はこちらから http://www.midokura.jp/midonet/
インストールはありがたいことに非常に簡単なので省略します。ubuntu14.04でgit cloneして./midonet_stack.shです。devstackも起動してくれます。
問題なく起動したら以下の通りhorizonにアクセスします。vagrantの場合は8080でポートフォワードしていると思います。
- http://
>/admin/ - username: admin
- password: gogomid0
ロードバランサーの項目がありました。LBaaSもできてます。
プールの作成などもできますね。
GUIはほどほどにして、コンソールから起動しているプロセスを見ると、rabbitmq,cinder,keystone,horizon,glance,neutronというキーワードが確認できます。ちゃんとdevstackで起動してくれているようです。
それではneutronコマンドを叩いてみます。openstackのマニュアルにも出てきますが、その前に以下を環境変数に入れておくと楽です。
OS_USERNAME=admin OS_PASSWORD=gogomid0 OS_TENANT_NAME=demo OS_AUTH_URL=http://localhost:5000/v2.0
とりあえずneutronのコマンドを数個叩いてみました。実際の実行結果が以下です。tenant,router,subnetも作成されていました。長いので一部コマンドだけにしておきます。
user@midostack:~/midostack$ neutron agent-list +--------------------------------------+----------------+-----------------+-------+----------------+------------------------+ | id | agent_type | host | alive | admin_state_up | binary | +--------------------------------------+----------------+-----------------+-------+----------------+------------------------+ | 94433b70-2fc3-4a9e-9cad-171bae02f01c | DHCP agent | midostack | :-) | True | neutron-dhcp-agent | | bb47a480-a430-4866-ac84-788583a75bc7 | Metadata agent | midostack | :-) | True | neutron-metadata-agent | +--------------------------------------+----------------+-----------------+-------+----------------+------------------------+ user@midostack:~/midostack$ neutron net-list +--------------------------------------+---------+-------------------------------------------------------+ | id | name | subnets | +--------------------------------------+---------+-------------------------------------------------------+ | 1bd3a3da-7386-49ac-8465-800fd5e6043b | private | e1051a98-c33a-43f6-ab4b-277bc5d1a7ef 10.0.0.0/24 | | 934c6b69-c17f-4603-8d5a-c235d745a6dc | public | 55a44ad5-0b62-490f-aed7-39881af200d7 200.200.200.0/24 | +---------- user@midostack:~/midostack$ neutron subnet-list +--------------------------------------+----------------+------------------+------------------------------------------------------+ | id | name | cidr | allocation_pools | +--------------------------------------+----------------+------------------+------------------------------------------------------+ | 55a44ad5-0b62-490f-aed7-39881af200d7 | public-subnet | 200.200.200.0/24 | {"start": "200.200.200.2", "end": "200.200.200.254"} | | e1051a98-c33a-43f6-ab4b-277bc5d1a7ef | private-subnet | 10.0.0.0/24 | {"start": "10.0.0.2", "end": "10.0.0.254"} | +--------------------------------------+----------------+------------------+------------------------------------------------------+ user@midostack:~/midostack$ keystone tenant-list +----------------------------------+--------------------+---------+ | id | name | enabled | +----------------------------------+--------------------+---------+ | 078594c5c974410181919d07f46b8c8d | admin | True | | 95b1a23cb8714e0088def14e686f6461 | alt_demo | True | | 0a7eca2721d74c3398beb62bbd42e02b | demo | True | | 96e51af3b0ac41749b0c7f62818c4a19 | invisible_to_admin | True | | 35d334c86b184095a4f48a9768d2f2f0 | service | True | +----------------------------------+--------------------+---------+
openstackのコマンドは一旦終わりにして、midonetのCLIを叩いてみます。midonet-cliコマンドでコンソールに入れます。
user@midostack:~/midostack$ midonet-cli midonet>
tab補完や↑で履歴をさかのぼることもできて使いやすい印象です。
routerを見てみます。router1がテナントの仮想Router、router0がPhysical NWとの境界のGWです。
midonet> router list router router0 name MidoNet Provider Router state up router router1 name router1 state up infilter chain0 outfilter chain1 midonet> router router0 list port port port0 device router0 state up mac aa:bb:cc:dd:ee:ff address 200.200.200.1 net 200.200.200.0/24 peer bridge0:port0 port port1 device router0 state up mac aa:bb:cc:dd:ee:ff address 172.19.0.2 net 172.19.0.0/30 port port2 device router0 state up mac aa:bb:cc:dd:ee:ff address 169.254.255.1 net 169.254.255.0/30 peer router1:port0
テナントをdemoにセットします。
midonet> sett <tenant-id> tenant_id: <tenant-id>
新しいvxlanのトンネルゾーンを作成し、ホストを登録します。devstackで作られたcompute nodeは1台なのでhost listでも一つに見えます。
midonet> create tunnel-zone name new-tz type vxlan tzone1 midonet> list tunnel-zone tzone tzone0 name default_tz type gre tzone tzone1 name new-tz type vxlan midonet> tiuunnel-zone tzone0 list member midonet> host list host host0 name midostack alive true midonet> tunnel-zone tzone0 add member host host0 address <your-ipaddress> zone tzone0 host host0 address <your-ipaddress> midonet> tunnel-zone tzone0 list member zone tzone0 host host0 address <your-ipaddress>
その他、以下のようなコマンドも。
midonet> host host0 list interface midonet> router router0 list route
ルートは以下のような出力です。dstだけでなくsrcも通常のルーティングで設定できます。
src 0.0.0.0/0 dst A.A.A.0/24 gw B.B.B.B port router0:port1 weight 100
ある程度操作イメージは掴めたでしょうか。今回はここまでにしておきます。次回以降はACL,NATあたりを書ければ良いかなと思います。
シェアして頂けると嬉しいです。
参考になったという方がいれば是非お願いしますm(_ _ )m
モチベーション維持の観点で非常に励みになります。
オープンソース・クラウド基盤 OpenStack入門 構築・利用方法から内部構造の理解まで
- 作者: 中井悦司,中島倫明
- 出版社/メーカー: KADOKAWA/アスキー・メディアワークス
- 発売日: 2014/05/31
- メディア: 大型本
- この商品を含むブログ (2件) を見る
SDNの実践技術 (Interop Tokyoセミナー(NextPublishing))
- 作者: 伊勢幸一,浅羽登志也,高添修,小松康二
- 出版社/メーカー: インプレスR&D
- 発売日: 2013/12/13
- メディア: オンデマンド (ペーパーバック)
- この商品を含むブログ (1件) を見る