OpenStack、MidoNetのネットワーク設定
ここまでで、OpenStackとMidoNetの連携設定が完了しましたので、NeutronとMidoNetの基本的なネットワーク設定を行います。作業の流れは以下のとおりです。
-
管理ホスト
- midonet-cliでTunnel-Zoneを作成し、メンバを登録
- neutronで外部ネットワークを作成
- midonet-cliでneutronの外部ネットワークと物理外部ネットワークをマッピング
- Tunnel-Zone作成とメンバを登録
Tunnel-Zoneの作成とメンバの登録
今回はVXLanでTunnel-Zoneを作成し、gateway、compute1、compute2をメンバとして追加します。
$ midonet-cli midonet> tunnel-zone create name tz type vxlan midonet> list host host host0 name compute1 alive true addresses 127.0.0.1,0:0:0:0:0:0:0:1,10.148.154.35,fe80:0:0:0:426:27ff:fe5d:322d flooding-proxy-weight 1 host host1 name compute2 alive true addresses 127.0.0.1,0:0:0:0:0:0:0:1,10.170.9.11,fe80:0:0:0:4df:ecff:fe39:770c flooding-proxy-weight 1 host host2 name gateway alive true addresses 127.0.0.1,0:0:0:0:0:0:0:1,10.148.154.39,fe80:0:0:0:494:e5ff:fe7e:588a flooding-proxy-weight 1 midonet> tunnel-zone tzone0 add member host host0 address 10.148.154.35 midonet> tunnel-zone tzone0 add member host host1 address 10.170.9.11 midonet> tunnel-zone tzone0 add member host host2 address 10.148.154.39
外部ネットワークを作成
ext-netという名称の外部ネットワークを作成します。
$ neutron net-create ext-net --router:external (省略) | id | 500ecc53-db89-4cfb-a063-f4cdd5396bf9 | (省略)
次に、ext-netにサブネットext-subnetを作成します。今回の外部ネットワークは203.0.113.0/24とします。
$ neutron subnet-create ext-net 203.0.113.0/24 --name ext-subnet --allocation-pool start=203.0.113.100,end=203.0.113.200 --disable-dhcp --gateway 203.0.113.1 (省略) | id | 6538ad5d-e323-4545-8f51-dd8222bf6fc2 | (省略)
外部ネットワークと物理外部ネットワークのマッピング
上記手順で作成した外部ネットワークのGatewayは203.0.113.1ですが、これがゲートウェイホストで作成した外部ネットワークのルータ相当のインターフェースにマッピングされるよう、Bindingを設定します。
具体的な操作としては、neutronで作成したext-netはMidoNetのbridgeとなっているため、このbridgeにportを追加し、そのportとvethのBindingを設定する形になります。
midonet> list host (省略) host host2 name gateway alive true addresses 127.0.0.1,0:0:0:0:0:0:0:1,10.148.154.39,fe80:0:0:0:494:e5ff:fe7e:588a flooding-proxy-weight 1 midonet> host host2 list interface (省略) iface veth0-1 host_id host2 status 3 addresses [u'fe80:0:0:0:dcc9:48ff:feb3:d274'] mac de:c9:48:b3:d2:74 mtu 1500 type Virtual endpoint UNKNOWN (省略) midonet> list bridge bridge bridge0 name ext-net state up midonet> bridge bridge0 add port midonet> host host2 add binding port bridge0:port0 interface veth0-1
