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.
Bevor Sie den OpenStack Identiäts Dienst installieren können, müssen Sie zunächst eine Datenbank und ein Administrations Token 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 keystone
:
mysql> CREATE DATABASE keystone;
Vergeben Sie die richtigen Zugriffsberechtigungen für die Datenbank keystone
:
mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
Ersetzen Sie KEYSTONE_DBPASS
durch ein geeignetes Passwort.
Beenden Sie den Datenbank-Client.
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.
Führen Sie folgenden Befehl zur Installation der Pakete aus:
# yum install openstack-keystone httpd mod_wsgi
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 aller weiteren connection
Optionen in der [database]
Sektion.
Konfigurieren Sie den Fernet-Token-Anbieter im Abschnitt [token]
:
[token]
...
provider = fernet
Befüllen Sie die Identitätsdienst-Datenbank:
# su -s /bin/sh -c "keystone-manage db_sync" keystone
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
Bootstrap des Identitätsdienstes:
# keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
--bootstrap-admin-url http://controller:35357/v3/ \
--bootstrap-internal-url http://controller:35357/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.
Bearbeiten Sie die Datei /etc/httpd/conf/httpd.conf
und tragen als ServerName
den Controller-Knoten ein:
ServerName controller
Erzeugen Sie eine Verknüpfung zur /usr/share/keystone/wsgi-keystone.conf
Datei:
# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
Starten Sie den Apache HTTP-Dienst und konfigurieren ihn so, dass er beim Booten des Systems startet:
# systemctl enable httpd.service
# systemctl start httpd.service
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 verwendeten Passwort aus der Sektion installiere und konfiguriere.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.