NeutronはOpenStackの重要なコンポーネントの1つであり、インターフェースデバイスを作成したり、ネットワークに接続したりできます。このガイドに従って、ご使用の環境でNeutron(ネットワーキング)を構成してください。 Neutronは、仮想ネットワークインフラストラクチャに必要なすべてのネットワーク関連のものを管理し、ネットワーク、サブネット、およびルーターオブジェクトの抽象化を提供します。
OpenStackの構成を進めるには、次のネットワークオプションのいずれかを選択する必要があります。
ネットワークオプション1:プロバイダーネットワーク
ネットワークオプション2:セルフサービスネットワーク
これらの詳細については、ここをクリックしてください。
ここでは、セルフサービスネットワークを使用します。
コントローラーノードのインストールと構成:
Neutronサービスを構成する前に、データベース、サービス、およびAPIエンドポイントを作成する必要があります。これを行うには、MySQLサーバーにルートとしてログインします。
# mysql -u root -p
中性子データベースを作成します。
CREATE DATABASE neutron;
中性子データベースに適切な許可を与えます。
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'password';
「パスワード」を置き換えます 」と適切なパスワード。 MySQLを終了します。
環境スクリプトから管理者クレデンシャルをロードします。
# source admin-openrc.sh
サービス資格情報を作成するためのneutronユーザーを作成します。
# openstack user create --password-prompt neutron User Password: Repeat User Password: +-----------+----------------------------------+ | Field | Value | +-----------+----------------------------------+ | domain_id | default | | enabled | True | | id | 91c75b24ce324309891f6a4ea8b33887 | | name | neutron | +-----------+----------------------------------+
管理者の役割をneutronユーザーに追加します。
# openstack role add --project service --user neutron admin
中性子サービスエンティティを作成します。
# openstack service create --name neutron --description "OpenStack Neutron" network +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Neutron | | enabled | True | | id | 1834077666c54c93821c95a03fa853a1 | | name | neutron | | type | network | +-------------+----------------------------------+
neutronサービスAPIエンドポイントを作成します。
# openstack endpoint create --region RegionOne network public http://controller:9696 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | c145840a76004e6d9e4bdccfb3603e84 | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 1834077666c54c93821c95a03fa853a1 | | 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 | d2305c57e55341fcbfbc1bd91c4d6378 | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 1834077666c54c93821c95a03fa853a1 | | 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 | 2dadc6ded42a4db3bf217d1abad22f15 | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 1834077666c54c93821c95a03fa853a1 | | service_name | neutron | | service_type | network | | url | http://controller:9696 | +--------------+----------------------------------+
コントローラーノードにネットワークコンポーネントをインストールして構成します:
# apt-get install neutron-server neutron-plugin-ml2 neutron-plugin-linuxbridge-agent neutron-l3-agent neutron-dhcp-agent neutron-metadata-agent python-neutronclient conntrack
/etc/neutron/neutron.confを編集します。
# nano /etc/neutron/neutron.conf
以下の設定を変更し、適切なセクションにエントリを配置してください。
[DEFAULT] ... core_plugin = ml2 service_plugins = router allow_overlapping_ips = True rpc_backend = rabbit auth_strategy = keystone notify_nova_on_port_status_changes = True notify_nova_on_port_data_changes = True nova_url = http://controller:8774/v2 verbose = True ## Replace "controller" with hostname of openstack controller [oslo_messaging_rabbit] ... rabbit_host = controller rabbit_userid = openstack rabbit_password = password ## Replace "password" with the password you chose for the openstack account in RabbitMQ ## Replace "controller" with hostname of openstack controller [database] ... connection = mysql+pymysql://neutron:password@controller/neutron ## Replace "password" with the password you chose for neutron database ## Commentout any other MySQL connections [keystone_authtoken] ... auth_uri = http://controller:5000 auth_url = http://controller:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = service username = neutron password = password ## Replace "password" with the password you chose for neutron user in the identity service. ## Commentout other authentication details. [nova] ... auth_url = http://controller:35357 auth_plugin = password project_domain_id = default user_domain_id = default region_name = RegionOne project_name = service username = nova password = password ## Replace "password" with the password you chose for nova user in the identity service.
モジュラーレイヤー2(ML2)プラグインの構成:
/etc/neutron/plugins/ml2/ml2_conf.iniファイルを編集します
# nano /etc/neutron/plugins/ml2/ml2_conf.ini
次のスタンザを変更します。
[ml2] ... type_drivers = flat,vlan,vxlan tenant_network_types = vxlan mechanism_drivers = linuxbridge,l2population extension_drivers = port_security [ml2_type_flat] ... flat_networks = public [ml2_type_vxlan] ... vni_ranges = 1:1000 [securitygroup] ... enable_ipset = True
Linuxブリッジエージェントを構成します:
Linuxブリッジエージェントを構成するには、コントローラーノードで/etc/neutron/plugins/ml2/linuxbridge_agent.iniを編集します。
# nano /etc/neutron/plugins/ml2/linuxbridge_agent.ini
以下のようにファイルに変更を加えます。
[linux_bridge] physical_interface_mappings = public:eth1 ## Replace "eth1" with the name of the physical public facing network interface. [vxlan] enable_vxlan = True local_ip = 192.168.12.21 l2_population = True ## Replace "192.168.12.21" with the management ip-address of the controller. [agent] ... prevent_arp_spoofing = True [securitygroup] ... enable_security_group = True firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
レイヤー3エージェントの構成:
/etc/neutron/l3_agent.iniファイルを編集します
# nano /etc/neutron/l3_agent.ini
以下のようにファイルを変更します。
[DEFAULT] ... interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver external_network_bridge = verbose = True
DHCPエージェントを構成します:
/etc/neutron/dhcp_agent.iniファイルを編集します。
# nano /etc/neutron/dhcp_agent.ini
以下のようにファイルに関連する変更を加えます。
[DEFAULT] ... interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq enable_isolated_metadata = True verbose = True dnsmasq_config_file = /etc/neutron/dnsmasq-neutron.conf
次に、/ etc / neutron / dnsmasq-neutron.confファイルを作成してDHCPMTUオプション(26)を有効にし、1450バイトに構成します。
# nano /etc/neutron/dnsmasq-neutron.conf
下の線をその上に置きます。
dhcp-option-force=26,1450
メタデータエージェントを構成します:
コントローラノードの/etc/neutron/metadata_agent.iniファイルを編集します。
# nano /etc/neutron/metadata_agent.ini
それに応じて変更を加えます。
[DEFAULT] ... auth_uri = http://controller:5000 auth_url = http://controller:35357 auth_region = RegionOne auth_plugin = password project_domain_id = default user_domain_id = default project_name = service username = neutron password = password ## Replace "password" with the password you chose for the neutron user in the Identity service. ## Commentout other authentication details. nova_metadata_ip = controller metadata_proxy_shared_secret = METADATA_SECRET ## Replace METADATA_SECRET with a suitable secret for the metadata proxy. generate using # openssl rand -hex 10 verbose = True
インストールを完了するには、データベースにデータを入力します。
# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
ComputeAPIサービスを再起動します。
# service nova-api restart
ネットワークサービスを再起動します。
# service neutron-server restart # service neutron-plugin-linuxbridge-agent restart # service neutron-dhcp-agent restart # service neutron-metadata-agent restart # service neutron-l3-agent restart
デフォルトでは、UbuntuパッケージはSQLiteデータベースを作成します。 SQLiteデータベースファイルを削除できます。
# rm -f /var/lib/neutron/neutron.sqlite
ロードされた拡張機能を一覧表示して確認します。
# neutron ext-list +-----------------------+-----------------------------------------------+ | alias | name | +-----------------------+-----------------------------------------------+ | dns-integration | DNS Integration | | ext-gw-mode | Neutron L3 Configurable external gateway mode | | binding | Port Binding | | agent | agent | | subnet_allocation | Subnet Allocation | | l3_agent_scheduler | L3 Agent Scheduler | | external-net | Neutron external network | | flavors | Neutron Service Flavors | | net-mtu | Network MTU | | quotas | Quota management support | | l3-ha | HA Router extension | | provider | Provider Network | | multi-provider | Multi Provider Network | | extraroute | Neutron Extra Route | | router | Neutron L3 Router | | extra_dhcp_opt | Neutron Extra DHCP opts | | security-group | security-group | | dhcp_agent_scheduler | DHCP Agent Scheduler | | rbac-policies | RBAC Policies | | port-security | Port Security | | allowed-address-pairs | Allowed Address Pairs | | dvr | Distributed Virtual Router | +-----------------------+-----------------------------------------------+
それで全部です!。 Neutronコンポーネントと連携するように計算ノードをインストールして構成するときが来ました。