OpenStack Networking (neutron) サービスを設定する前に、データベース、サービスクレデンシャル、API エンドポイントを作成する必要があります。
データベースを作成するには、これらの手順をすべて実行します。
データベースクライアントを使用して、データベースサーバーに root
ユーザーとして接続します。
$ mysql -u root -p
neutron
データベースを作成します。
mysql> CREATE DATABASE neutron;
neutron
データベースに適切なアクセス権を付与します。NEUTRON_DBPASS
を適切なパスワードで置き換えます。
mysql> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
IDENTIFIED BY 'NEUTRON_DBPASS';
mysql> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \
IDENTIFIED BY 'NEUTRON_DBPASS';
データベースクライアントを終了します。
admin
クレデンシャルを読み込み、管理者専用 CLI コマンドへのアクセス権を取得します。
$ . admin-openrc
以下の手順を実行して、サービスクレデンシャルを作成します。
neutron
ユーザーを作成します。
$ openstack user create --domain default --password-prompt neutron
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | 319f34694728440eb8ffcb27b6dd8b8a |
| name | neutron |
| password_expires_at | None |
+---------------------+----------------------------------+
admin
ロールを neutron
ユーザーに追加します。
$ openstack role add --project service --user neutron admin
注釈
このコマンドは何も出力しません。
neutron
サービスエンティティーを作成します。
$ openstack service create --name neutron \
--description "OpenStack Networking" network
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Networking |
| enabled | True |
| id | f71529314dab4a4d8eca427e701d209e |
| name | neutron |
| type | network |
+-------------+----------------------------------+
Networking サービス API エンドポイントを作成します。
$ openstack endpoint create --region RegionOne \
network public http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 85d80a6d02fc4b7683f611d7fc1493a3 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | f71529314dab4a4d8eca427e701d209e |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+
$ openstack endpoint create --region RegionOne \
network internal http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 09753b537ac74422a68d2d791cf3714f |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | f71529314dab4a4d8eca427e701d209e |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+
$ openstack endpoint create --region RegionOne \
network admin http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 1ee14289c9374dffb5db92a5c112fc4e |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | f71529314dab4a4d8eca427e701d209e |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+
Networking サービスは、オプション 1 と 2 の 2 つのアーキテクチャーのいずれかを使ってデプロイできます。
オプション 1 は、可能な限り最も単純なアーキテクチャーをデプロイします。プロバイダー (外部) ネットワークへのインスタンスの接続のみに対応します。セルフサービス (プライベート) ネットワークやルーター、Floating IP アドレスはサポートされません。 admin
や他の特権ユーザーだけがプロバイダーネットワークを管理できます。
オプション 2 は、オプション 1 にレイヤー 3 サービスを組み合わせたもので、セルフサービスネットワークへのインスタンスの接続をサポートします。 demo
や他の非特権ユーザーがセルフサービスネットワークを管理し、それにはセルフサービスネットワークやプロバイダーネットワークの間の接続性を提供するルーターも含まれます。また、 Floating IP アドレスにより、セルフサービスネットワークに接続されたインスタンスへの、インターネットなどの外部ネットワークからの接続性が提供されます。
セルフサービスネットワークでは一般にはオーバーレイネットワークが使用されます。 VXLAN などのオーバーレイネットワークプロトコルは追加のヘッダーが必要で、このため、オーバーヘッドが増え、ペイロードやユーザーデータで利用可能な空間が減ります。仮想ネットワーク基盤に関する情報がないと、インスタンスが、デフォルトの Ethernet 最大転送単位 (MTU) 1500 バイトを使用して、パケットを送信しようとします。 Networking サービスは、正しい MTU 値を DHCP 経由でインスタンスに自動的に提供します。ただし、クラウドイメージによっては DHCP が使用されなかったり DHCP MTU オプションは無視されたりします。この場合には、メタデータやスクリプトを使って MTU を設定する必要があります。
注釈
オプション 2 では、プロバイダーネットワークへのインスタンスの接続もサポートされます。
以下のネットワークオプションのいずれかを選択して、サービスをオプションに応じて設定します。その後、ここに戻り、 メタデータエージェントの設定 に進んでください。
メタデータエージェント は、クレデンシャルなどの設定情報をインスタンスに提供します。
/etc/neutron/metadata_agent.ini
ファイルを編集し、以下の作業をすべて行います。
[DEFAULT]
セクションに、メタデータホストと共有シークレットを設定します。
[DEFAULT]
...
nova_metadata_ip = controller
metadata_proxy_shared_secret = METADATA_SECRET
METADATA_SECRET
はメタデータプロキシー用に適切なシークレットで置き換えます。
/etc/nova/nova.conf
ファイルを編集し、以下の作業をすべて行います。
[neutron]
セクションに、アクセス用のパラメーターを設定し、メタデータプロキシーを有効にし、シークレットを設定します。
[neutron]
...
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = Default
user_domain_name = Default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS
service_metadata_proxy = True
metadata_proxy_shared_secret = METADATA_SECRET
NEUTRON_PASS
を Identity サービスにおいて neutron
ユーザー用に選択したパスワードで置き換えます。
METADATA_SECRET
はメタデータプロキシ用に選択した適切なシークレットで置き換えます。
注釈
SLES は、デフォルトで apparmor が有効化されていて、dnsmasq を制限しています。apparmor を完全に無効化するか、dnsmasq プロファイルを無効化する必要があります。
# ln -s /etc/apparmor.d/usr.sbin.dnsmasq /etc/apparmor.d/disable/
# systemctl restart apparmor
Compute API サービスを再起動します。
# systemctl restart openstack-nova-api.service
Networking サービスを起動し、システム起動時に起動するよう設定します。
どちらのネットワークオプションの場合も、以下を行います。
# systemctl enable openstack-neutron.service \
openstack-neutron-linuxbridge-agent.service \
openstack-neutron-dhcp-agent.service \
openstack-neutron-metadata-agent.service
# systemctl start openstack-neutron.service \
openstack-neutron-linuxbridge-agent.service \
openstack-neutron-dhcp-agent.service \
openstack-neutron-metadata-agent.service
ネットワークオプション 2 の場合、L3 サービスも有効にして起動します。
# systemctl enable openstack-neutron-l3-agent.service
# systemctl start openstack-neutron-l3-agent.service
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.