Bevor Sie den OpenStack Netzwerkdienst (Neutron) konfigurieren, müssen Sie eine Datenbank, Anmeldeinformationen und API-Endpunkte erstellen.
Führen Sie diese Schritte zum Erstellen der Datenbank aus:
Benutzen Sie den Datenbank-Client zur Verbindung zum Datenbank-Server als Benutzer root
:
$ mysql -u root -p
Erstellen Sie die Datenbank neutron
:
mysql> CREATE DATABASE neutron;
Vergeben Sie die richtigen Zugriffsberechtigungen für die Datenbank neutron
indem Sie NEUTRON_DBPASS
durch ein geeignetes Passwort ersetzen:
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';
Beenden Sie den Datenbank-Client.
Sourcen Sie die admin
Anmeldeinformationen, um Zugriff auf die Admin-Kommandos zu bekommen:
$ . admin-openrc
Um die Dienstanmeldeinformationen zu erstellen, vervollständigen Sie folgende Schritte:
Erstellen Sie den Benutzer 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 |
+---------------------+----------------------------------+
Fügen Sie die Rolle admin
zum Benutzer neutron
hinzu:
$ openstack role add --project service --user neutron admin
Bemerkung
Das Kommando erzeugt keine Ausgabe.
Erstellen Sie die Dienstentität neutron
:
$ openstack service create --name neutron \
--description "OpenStack Networking" network
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Networking |
| enabled | True |
| id | f71529314dab4a4d8eca427e701d209e |
| name | neutron |
| type | network |
+-------------+----------------------------------+
Erstellen Sie die Netzwerk-API-Endpunkte:
$ 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 |
+--------------+----------------------------------+
Sie können den Netzwerkdienst unter Verwendung von einer von zwei Architekturen bereitstellen, die als Optionen 1 und 2 bezeichnet werden.
Option 1 stellt die einfachste Architektur bereit und unterstützt nur das Hinzufügen von Instanzen zu (externen) Anbieternetzwerken. Es gibt keine (privaten) self-service Netzwerke, Router oder Floating IP-Adressen. Nur der admin
oder andere privilegierte Benutzer können Anbieternetzwerke verwalten.
Option 2 erweitert Option 1 mit layer-3 Diensten die unterstützen, dass Instanzen zu self-service Netzwerken hinzugefügt werden. Der demo
Benutzer oder andere unprivilegierte Benutzer können self-service Netzwerke verwalten, einschließlich Router, die die Verbindung zwischen self-service und Anbieternetzwerken erlauben. Zusätzlich bieten Floating IP-Adressen die Möglichkeit der Erreichbarkeit von Instanzen über self-service Netzwerke von externen Netzwerken wie z.B. dem Internet.
Self-service Netzwerke verwenden typischerweise Overlay Netzwerke. Overlay Netzwerkprotokolle wie VXLAN beinhalten zusätzliche Header, die den Overhead erhöhen und den Platz für die Nutzlast oder Benutzerdaten verringern. Ohne Kenntnis der virtuellen Netzwerkinfrastruktur versuchen Instanzen Pakete mittels der Standard Ethernet maximum transmission unit (MTU) von 1500 bytes zu schicken. Der Netzwerkdienst liefert automatisch den korrekten MTU-Wert per DHCP an die Instanzen. Manche Cloud-Abbilder verwenden allerdings kein DHCP oder ignorieren die DHCP MTU Option und benötigen daher die Konfiguration über Metadaten oder ein Skript.
Bemerkung
Option 2 unterstützt auch das Hinzufügen von Instanzen zu Anbieternetzwerken.
Wählen Sie eine der folgenden Netzwerkoptionen um dafür spezifische Dienste zu konfigurieren. Kommen Sie anschließen hierher zurück um bei Konfigurieren Sie den Metadaten-Agenten fortzusetzen.
Der Metadatenagent stellt Konfigurationsinformation (z.B. Anmeldeinformationen für Instanzen) zur Verfügung.
Bearbeiten Sie die Datei /etc/neutron/metadata_agent.ini
und führen folgende Schritte durch:
Konfigurieren Sie den Metadatendienst und die geteilten Geheimwörter in der [DEFAULT]
Sektion:
[DEFAULT]
...
nova_metadata_ip = controller
metadata_proxy_shared_secret = METADATA_SECRET
Ersetzen Sie METADATA_SECRET
mit einem angemessenen Geheimwort für den Metadatenproxy.
Bearbeiten Sie die Datei /etc/nova/nova.conf
und führen folgende Schritte durch:
Konfigurieren Sie die Anmeldeparameter in der Sektion [neutron]
, aktivieren Sie den Metadatenproxy und konfigurieren Sie das Geheimwort:
[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
Ersetzen Sie NEUTRON_PASS
durch das Passwort, das Sie für den Benutzer neutron
im Identitätsdienst vergeben haben.
Ersetzen Sie METADATA_SECRET
mit dem Geheimwort, dass Sie für den Metadatendienst gewählt haben.
Bemerkung
SLES aktiviert standardmäßig apparmor und schränkt dnsmasq ein. Sie müssen entweder apparmor komplett deaktivieren oder nur das das dnsmasq Profil:
# ln -s /etc/apparmor.d/usr.sbin.dnsmasq /etc/apparmor.d/disable/
# systemctl restart apparmor
Starten Sie den Compute API-Dienst neu:
# systemctl restart openstack-nova-api.service
Starten Sie die Netzwerkdienste und konfigurieren Sie diese so, dass sie beim Booten des Systems starten.
Für beide Netzwerkoptionen:
# 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
Für die Netzwerk Option 2 aktivieren und starten Sie auch den Layer-3 Dienst.
# 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.