Installation und Konfiguration

Installation und Konfiguration

Dieser Abschnitt beschreibt, wie der Identitätsdienst auf dem Controller-Knoten zu installieren und zu konfigurieren ist, der Codename lautet Keystone. Aus Gründen der Skalierbarkeit verwendet diese Konfiguration Fernet-Tokens und den Apache HTTP-Server zur Verarbeitung von Anfragen.

Voraussetzungen

Bevor Sie den Identitätsdienst installieren und konfigurieren, müssen Sie eine Datenbank erstellen.

Bemerkung

Bevor Sie anfangen, stellen Sie sicher, dass Sie die aktuellste Version von python-pyasn1 installiert haben,.

  1. Benutzen Sie den Datenbank-Client zur Verbindung zum Datenbank-Server als Benutzer root :

    $ mysql -u root -p
    
  1. Erstellen Sie die Datenbank keystone:

    MariaDB [(none)]> CREATE DATABASE keystone;
    
  2. Vergeben Sie die richtigen Zugriffsberechtigungen für die Datenbank keystone:

    MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
    IDENTIFIED BY 'KEYSTONE_DBPASS';
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
    IDENTIFIED BY 'KEYSTONE_DBPASS';
    

    Ersetzen Sie KEYSTONE_DBPASS durch ein geeignetes Passwort.

  3. Beenden Sie den Datenbank-Client.

Installieren und konfigurieren von Komponenten

Bemerkung

Die voreingestellten Konfigurationsdateien können je nach Distribution unterschiedlich aussehen. Es kann notwendig sein, diese Abschnitte und Optionen selbst hinzuzufügen anstatt bestehende anzupassen. Außerdem deuten Auslassungszeichen (...) in den Konfigurationsabschnitten Standardeinstellungen an, die beibehalten werden sollten.

Bemerkung

Dieser Leitfaden verwendet den Apache HTTP-Server mit mod_wsgi um die Anfragen des Identitätsdienstes auf den Ports 5000 und 35357 zu verarbeiten. Standardmäßig lauscht der Keystone-Dienst weiterhin auf diesen Ports, deshalb wird der Dienst in diesem Leitfaden deaktiviert.

Bemerkung

Seit dem Newton-Release werden SUSE OpenStack Pakete mit den Standard-Upstream Konfigurationsdateien geliefert. Als Beispiel /etc/keystone/keystone.conf mit Anpassungen in /etc/keystone/keystone.conf.d/010-keystone.conf. Die folgenden Anweisungen bearbeiten die Standard-Konfigurationsdateien, aber das Hinzufügen von neuen Dateien in /etc/keystone/keystone.conf.d erfüllt den gleichen Zweck.

  1. Führen Sie folgenden Befehl zur Installation der Pakete aus:

    # zypper install openstack-keystone apache2-mod_wsgi
    
  1. Bearbeiten Sie die Datei /etc/keystone/keystone.conf und führen folgende Schritte durch:

    • Konfigurieren Sie den Datenbankzugriff in der Sektion [database] :

      [database]
      # ...
      connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
      

      Ersetzen Sie KEYSTONE_DBPASS durch das Passwort, das Sie für die Datenbank gewählt haben.

      Bemerkung

      Kommentieren oder entfernen Sie alle anderen connection Optionen in der [database] Sektion.

    • Konfigurieren Sie den Fernet-Token-Anbieter im Abschnitt [token]:

      [token]
      # ...
      provider = fernet
      
  2. Befüllen Sie die Identitätsdienst-Datenbank:

    # su -s /bin/sh -c "keystone-manage db_sync" keystone
    
  3. Initialisieren der Fernet key repositories:

    # keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
    # keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
    
  4. Bootstrap des Identitätsdienstes:

    # keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
      --bootstrap-admin-url http://controller:35357/v3/ \
      --bootstrap-internal-url http://controller:5000/v3/ \
      --bootstrap-public-url http://controller:5000/v3/ \
      --bootstrap-region-id RegionOne
    

    Ersetzen Sie ADMIN_PASS mit einem angemessenen Passwort für den administrativen Benutzer.

Konfigurieren Sie den Apache HTTP-Server

  1. Bearbeiten Sie die Datei /etc/sysconfig/apache2 und tragen als APACHE_SERVERNAME den Controller-Knoten ein:

    APACHE_SERVERNAME="controller"
    
  2. Erstellen Sie die Datei /etc/apache2/conf.d/wsgi-keystone.conf mit folgendem Inhalt:

    Listen 5000
    Listen 35357
    
    <VirtualHost *:5000>
        WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-public
        WSGIScriptAlias / /usr/bin/keystone-wsgi-public
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        ErrorLogFormat "%{cu}t %M"
        ErrorLog /var/log/apache2/keystone.log
        CustomLog /var/log/apache2/keystone_access.log combined
    
        <Directory /usr/bin>
            Require all granted
        </Directory>
    </VirtualHost>
    
    <VirtualHost *:35357>
        WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-admin
        WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        ErrorLogFormat "%{cu}t %M"
        ErrorLog /var/log/apache2/keystone.log
        CustomLog /var/log/apache2/keystone_access.log combined
    
        <Directory /usr/bin>
            Require all granted
        </Directory>
    </VirtualHost>
    
  3. Ändern Sie die Eigentumsrechte des Verzeichnisses /etc/keystone rekursiv:

    # chown -R keystone:keystone /etc/keystone
    

Schließen Sie die Installation ab

  1. Starten Sie den Apache HTTP-Dienst und konfigurieren ihn so, dass er beim Booten des Systems startet:

    # systemctl enable apache2.service
    # systemctl start apache2.service
    
  1. Konfigurieren Sie das Administratorenkonto

    $ export OS_USERNAME=admin
    $ export OS_PASSWORD=ADMIN_PASS
    $ export OS_PROJECT_NAME=admin
    $ export OS_USER_DOMAIN_NAME=Default
    $ export OS_PROJECT_DOMAIN_NAME=Default
    $ export OS_AUTH_URL=http://controller:35357/v3
    $ export OS_IDENTITY_API_VERSION=3
    

    Ersetzen Sie ADMIN_PASS mit dem im keystone-manage bootstrap Kommando in keystone-install-configure verwendeten.

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.