Controller Node installieren und konfigurieren

Controller Node installieren und konfigurieren

Voraussetzungen

Bevor Sie den OpenStack Netzwerkdienst (Neutron) konfigurieren, müssen Sie eine Datenbank, Anmeldeinformationen und API-Endpunkte erstellen.

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

  2. Sourcen Sie die admin Anmeldeinformationen, um Zugriff auf die Admin-Kommandos zu bekommen:

    $ . admin-openrc
    
  3. 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                          |
      +-------------+----------------------------------+
      
  4. 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           |
    +--------------+----------------------------------+
    

Netzwerkoptionen konfigurieren

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.

Konfigurieren Sie den Metadaten-Agenten

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.

Konfigurieren Sie den Compute-Dienst, so dass er den Netzwerkdienst verwendet

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

Installation abschließen

  1. Befüllen Sie die Datenbank:

    # 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
    

    Bemerkung

    Die Bestückung der Datenbank passiert später für das Netzwerk, denn das Skript benötigt vollständige Server und Plug-in Konfigurationsdateien.

  2. Starten Sie den Compute API-Dienst neu:

    # service nova-api restart
    
  3. Starten Sie die Netzwerkdienste neu.

    Für beide Netzwerkoptionen:

    # service neutron-server restart
    # service neutron-linuxbridge-agent restart
    # service neutron-dhcp-agent restart
    # service neutron-metadata-agent restart
    

    Für die Netzwerk Option 2 starten Sie auch den Layer-3 Dienst neu:

    # service neutron-l3-agent restart
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.