Oracle® Solaris 11.2 での OpenStack のインストールと構成

印刷ビューの終了

更新: 2015 年 4 月
 
 

OpenStack 内で外部ネットワークを構成する方法

この手順では、外部ネットワークを表す仮想ネットワークを作成する方法を示します。この仮想ネットワークでは DHCP が使用されません。代わりにフローティング IP アドレスが作成されます。これらのフローティング IP アドレスは特定のテナントに割り当てられ、そのテナントで、ユーザーによって使用される Nova VM インスタンスに割り当てることができます。

この章のマルチノードアーキテクチャーのサンプルではコントローラに Neutron サービスが含まれているため、コントローラノードで次の手順を実行します。

始める前に

この手順を実行するには、テナントの内部ネットワークがすでに存在している必要があります。プライベートネットワークを作成する手順については、内部ネットワークを作成する方法を参照してください。

また、Elastic Virtual Switch についても、その l2-type および vlan-range プロパティーが構成されているなど、構成が完了している必要があります。次の例は、Step 9 でこれらのプロパティーを構成したときに、その設定を表示する方法を示しています。

controller# evsadm show-controlprop -p l2-type -p vlan-range
PROPERTY   PERM  VALUE      DEFAULT  HOST
l2-type    rw    vlan       vlan     --
vlan-range rw    1,200-300  --       --

また、外部ネットワークに接続するプライベートネットワークのテナントに関する情報も必要です。テナント情報は、次のコマンドを使用するといつでも表示できます。

keystone tenant-list

  1. Solaris IP フィルタを有効にします。
    controller# svcadm enable ipfilter
  2. ホスト全体で IP 転送を有効にします。
    controller# ipadm set-prop -p forwarding=on ipv4
  3. 必要な環境変数を設定します。
    controller# export OS_USERNAME=neutron
    controller# export OS_PASSWORD=service-password
    controller# export OS_TENANT_NAME=service-name
    controller# export OS_AUTH_URL=http://controller-name:5000/v2.0
  4. プロバイダルーターを作成します。
    controller# neutron router-create router-name

    このコマンドは、ルーター名とそれに対応する ID を表示します。次の手順で、この ID を使用して構成ファイルを更新します。

  5. L3 エージェント構成ファイルを更新します。

    /etc/neutron/l3_agent.ini ファイルで、router_id パラメータの値を前の手順のルーター UUID に設定します。

    router_id = router-ID
  6. neutron-l3-agent SMF サービスを有効にします。
    controller# svcadm enable neutron-l3-agent
  7. 外部ネットワークを作成します。
    controller# neutron net-create --provider:network_type=vlan \
    --provider:segmentation_id=VLAN-nbr \
    --router:external=true network-name

    ここで、segmentation_id は VLAN 範囲の最初の数字です。

  8. サブネットを作成して外部ネットワークに関連付けます。

    このドキュメントのサンプル構成では、DHCP は無効になっています。割り当てプールはサブネットに割り当てられているフローティング IP アドレスの範囲で構成されます。

    controller# neutron subnet-create --enable-dhcp=false --name subnet-name \
    --allocation-pool start=start-IP, end=end-IP network-name subnet-IP
    
  9. ルーターに外部ネットワークを追加します。
    controller# neutron router-gateway-set router-ID network-ID \
    

    注 -  /etc/neutron/l3_agent.ini ファイルから router-ID を取得します。必要に応じて neutron net-list コマンドを使用すると、network-ID を取得できます。
  10. ルーターにテナントのプライベートネットワークを追加します。

    この手順では、ルーター ID とテナントのサブネット ID が必要です。次のようにして情報を取得できます。

    1. テナントのサブネット ID を取得するには、まずテナントとそれらの ID を表示し、次に特定のテナント ID のサブネットを表示します。
      # keystone tenant-list
      # neutron net-list --tenant-id tenant-ID
    2. ルーターにプライベートネットワークを追加します。

      この手順は、外部ネットワークに追加するテナントのプライベートネットワークの数に応じて繰り返します。

      controller# neutron router-interface-add router-ID subnet-ID
使用例 4-2  service テナントに対する外部ネットワークの作成

次の例は参照として Figure 3–3 の一部を使用します。図では、テナント A には 2 つの VM インスタンスがあり、それぞれがプライベートネットワークに属しています。この 2 つのプライベートネットワークは HRENG です。2 つの VM インスタンスがさらに広いネットワークと通信できるように、外部ネットワークにこれら 2 つのサブネットが追加されます。この例では、Neutron サービスのデフォルトのユーザー名とパスワードを使用することを想定しています。

controller# svcadm enable ipfilter
controller# ipadm set-prop -p forwarding=on ipv4

controller# export OS_USERNAME=neutron
controller# export OS_PASSWORD=neutron
controller# export OS_TENANT_NAME=TenantA
controller# export OS_AUTH_URL=http://controller-name:5000/v2.0
controller# neutron router-create ext-router
Created a new router:
+-----------------------+-----------------+
| Field                 | Value           |
+-----------------------+-----------------+
| admin_state_up        | True            |
| external_gateway_info |                 |
| id                    | 97ro5-ut3er     |
| name                  | ext-router      |
| status                | ACTIVE          |
| tenant_id             | abcde12345      |
+-----------------------+-----------------+

この時点で、router_ID パラメータを 97ro5-ut3er に設定して /etc/neutron/l3_agent.ini ファイルを更新します。

ファイルを更新したあと、残りの手順に進みます。

controller# svcadm enable neutron-l3-agent

controller# neutron net-create --provider:network_type=vlan \
--provider:segmentation_id=1 --router:external=true ext_network
Created a new network:
+--------------------------+-------------------+
| Field                    | Value             |
+--------------------------+-------------------+
| admin_state_up           | True              |
| id                       | 555ext-net555     |
| name                     | ext_network       |
| provider:network_type    | vlan              |
| provider:segmentation_id | 1                 |
| router:external          | True              |
| shared                   | False             |
| status                   | ACTIVE            |
| subnets                  |                   |
| tenant_id                | abcde12345        |
+--------------------------+-------------------+

controller# neutron subnet-create  --enable-dhcp=False \
--name ext_subnet --allocation-pool start=10.134.13.8,end=10.134.13.254 \
ext_network 10.134.13.0/24
Created a new subnet:

+------------------+--------------------------------------------------+
| Field            | Value                                            |
+------------------+--------------------------------------------------+
| allocation_pools | {"start": "10.134.13.8", "end": "10.134.13.254"} |
| cidr             | 10.134.13.0/24                                   |
| dns_nameservers  |                                                  |
| enable_dhcp      | False                                            |
| gateway_ip       | 10.134.13.1                                      |
| host_routes      |                                                  |
| id               | 444sub-net444                                    |
| ip_version       | 4                                                |
| name             | ext_subnet                                       |
| network_id       | 555ext-net555                                    |
| tenant_id        | abcde12345                                       |
+------------------+--------------------------------------------------+

controller# neutron router-gateway-set 97ro5-ut3er 555ext-net555
Set gateway for router 97ro5-ut3er

controller# keystone tenant-list
+------------+---------+---------+
|     id     |   name  | enabled |
+------------+---------+---------+
| 12345abcde | TenantA |  True   |
| 67890fghij | TenantB |  True   |
+------------+---------+---------+

controller# neutron net-list --tenant-id 12345abcde
+------------+------+-------------+
|     id     | name |   subnets   |
+------------+------+-------------+
| 1a3b5c7d9e | HR   | xyz-123-uvw |
| 2f4g6h8i0j | ENG  | 098-r2d2-56 |
+------------+------+-------------+

controller# neutron router-interface-add 97ro5-ut3er xyz-123-uvwHR added to the router.
Added interface xyz-123-uvw to router 97ro5-ut3er.

controller# neutron router-interface-add 97ro5-ut3er 098-r2d2-56ENG added to the router.
Added interface 098-r2d2-56 to router 97ro5-ut3er.

関連項目