GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

OpenStack Liberty auf Ubuntu 14.04 – Konfigurieren Sie Neutron

Neutron ist eine der wichtigsten Komponenten in OpenStack. Es ermöglicht uns, Schnittstellengeräte zu erstellen oder an Netzwerke anzuschließen. Befolgen Sie diese Anleitung, um Neutron (Networking) in Ihrer Umgebung zu konfigurieren. Neutron verwaltet alle netzwerkbezogenen Dinge, die wir für die virtuelle Netzwerkinfrastruktur benötigen, es stellt die Netzwerke, Subnetze und Router-Objektabstraktionen bereit.

Wir müssen eine der folgenden Netzwerkoptionen auswählen, um mit der Konfiguration von OpenStack fortzufahren.

Vernetzungsoption 1:Anbieternetzwerke
Vernetzungsoption 2:Self-Service-Netzwerke

Um mehr darüber zu erfahren, klicken Sie hier.

Hier werden wir Self-Service-Netzwerke verwenden.

Installieren und konfigurieren Sie den Controller-Knoten:

Bevor wir den Neutron-Dienst konfigurieren, müssen wir eine Datenbank, einen Dienst und einen API-Endpunkt erstellen. Melden Sie sich dazu als Root beim MySQL-Server an.

# mysql -u root -p

Erstellen Sie die Neutronendatenbank.

CREATE DATABASE neutron;

Gewähren Sie der Neutronendatenbank eine ordnungsgemäße Berechtigung.

GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'password';

Ersetzen Sie „Passwort “ mit einem passenden Passwort. Beenden Sie MySQL.

Laden Sie Ihre Admin-Anmeldeinformationen aus dem Umgebungsskript.

# source admin-openrc.sh

Erstellen Sie den Neutron-Benutzer zum Erstellen von Service-Anmeldeinformationen.

# openstack user create --password-prompt neutron
User Password:
Repeat User Password:
+-----------+----------------------------------+
| Field     | Value                            |
+-----------+----------------------------------+
| domain_id | default                          |
| enabled   | True                             |
| id        | 91c75b24ce324309891f6a4ea8b33887 |
| name      | neutron                          |
+-----------+----------------------------------+

Fügen Sie dem Neutron-Benutzer die Administratorrolle hinzu.

# openstack role add --project service --user neutron admin

Erstellen Sie die Neutronendienstentität.

# openstack service create --name neutron --description "OpenStack Neutron" network
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Neutron                |
| enabled     | True                             |
| id          | 1834077666c54c93821c95a03fa853a1 |
| name        | neutron                          |
| type        | network                          |
+-------------+----------------------------------+

Erstellen Sie den API-Endpunkt des Neutronendienstes.

# 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           |
+--------------+----------------------------------+

Installieren und konfigurieren Sie Netzwerkkomponenten auf dem Controller-Knoten:

# apt-get install neutron-server neutron-plugin-ml2  neutron-plugin-linuxbridge-agent neutron-l3-agent neutron-dhcp-agent neutron-metadata-agent python-neutronclient conntrack

Bearbeiten Sie die /etc/neutron/neutron.conf.

# nano /etc/neutron/neutron.conf

Ändern Sie die folgenden Einstellungen und stellen Sie sicher, dass Sie Einträge in den richtigen Abschnitten platzieren.

[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.

Modular Layer 2 (ML2)-Plugin konfigurieren:

Bearbeiten Sie die Datei /etc/neutron/plugins/ml2/ml2_conf.ini

# nano /etc/neutron/plugins/ml2/ml2_conf.ini

Ändern Sie die folgenden Strophen.

[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

Konfigurieren Sie den Linux-Bridge-Agent:

Um den Linux-Bridge-Agent zu konfigurieren, bearbeiten Sie /etc/neutron/plugins/ml2/linuxbridge_agent.ini auf dem Controller-Knoten.

# nano /etc/neutron/plugins/ml2/linuxbridge_agent.ini

Nehmen Sie die Änderungen an der Datei wie unten beschrieben vor.

[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

Konfigurieren Sie den Layer-3-Agenten:

Bearbeiten Sie die Datei /etc/neutron/l3_agent.ini

# nano /etc/neutron/l3_agent.ini

Ändern Sie die Datei wie folgt.

[DEFAULT]
...
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
external_network_bridge =
verbose = True

Konfigurieren Sie den DHCP-Agenten:

Bearbeiten Sie die Datei /etc/neutron/dhcp_agent.ini.

# nano /etc/neutron/dhcp_agent.ini

Nehmen Sie relevante Änderungen an der Datei wie unten vor.

[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

Erstellen Sie nun die Datei /etc/neutron/dnsmasq-neutron.conf, um die DHCP-MTU-Option (26) zu aktivieren, und konfigurieren Sie sie auf 1450 Bytes:

# nano /etc/neutron/dnsmasq-neutron.conf

Untere Linie darauf setzen.

dhcp-option-force=26,1450

Konfigurieren Sie den Metadaten-Agent:

Bearbeiten Sie die Datei /etc/neutron/metadata_agent.ini auf dem Controller-Knoten.

# nano /etc/neutron/metadata_agent.ini

Nehmen Sie entsprechende Änderungen vor.

[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

Füllen Sie die Datenbank, um die Installation abzuschließen.

# 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

Starten Sie den Compute-API-Dienst neu.

# service nova-api restart

Starten Sie die Netzwerkdienste neu.

# 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

Standardmäßig erstellen die Ubuntu-Pakete eine SQLite-Datenbank. Sie können die SQLite-Datenbankdatei entfernen.

# rm -f /var/lib/neutron/neutron.sqlite

Überprüfen Sie es, indem Sie geladene Erweiterungen auflisten.

# 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                    |
+-----------------------+-----------------------------------------------+

Das ist alles!. Es ist an der Zeit, den Rechenknoten zu installieren und zu konfigurieren, damit er mit der Neutron-Komponente funktioniert.


Ubuntu
  1. Installieren Sie pgAdmin 4 auf Ubuntu 16.04

  2. OpenStack Liberty auf Ubuntu 14.04 LTS – Nova konfigurieren

  3. OpenStack Kilo auf Ubuntu 14.04.2 – Konfigurieren Sie Neutron #1

  4. OpenStack Kilo auf Ubuntu 14.04.2 – Nova konfigurieren

  5. OpenStack Kilo auf Ubuntu 14.04.2 – Glance konfigurieren

OpenStack Kilo auf Ubuntu 14.04.2 – Konfigurieren Sie Neutron #2

OpenStack Liberty auf Ubuntu 14.04 LTS – Glance konfigurieren

OpenStack Liberty auf Ubuntu 14.04 LTS – Konfigurieren Sie KeyStone #2

OpenStack Liberty auf Ubuntu 14.04 LTS – Konfigurieren Sie KeyStone #1

Installieren Sie OpenStack Liberty auf Ubuntu 14.04 LTS

OpenStack Liberty auf Ubuntu 14.04 – Erstellen Sie virtuelle Netzwerke