Tutorial: OpenStack CLI auf eigenem Server installieren & nutzen

Version vom 10. Januar 2025, 14:49 Uhr von Rb (Diskussion | Beiträge) (→‎Schritt 3: Openstack auf einem Gerät installieren)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

OpenStack CLI auf eigenem Server installieren & nutzen

Da die OpenStack-eigene Horizon-Oberfläche beispielsweise keine direkte Möglichkeit bietet, Snapshots herunterzuladen, besteht die Option, die OpenStack CLI auf einem eigenen Server zu installieren und diese mit unserer API zu verbinden. Über die API können zudem alle Funktionen genutzt werden, die auch über Horizon verfügbar sind.

Schritt 1: API Zugang aktivieren

Um den API Zugang zu aktivieren, müssen Sie ein Passwort für diesen anlegen.

Afstack api activate.png

  1. Ihr API-Username.
  2. Ihr API-Passwort.
  3. Ihre Konfigurationsdatei, um auf die API zuzugreifen.
    Hinweis: Diese wird aber nicht für die CLI verwendet. Stattdessen wird die Konfigurationsdatei in der Openstack-Oberfläche genutzt. Dazu in den nächsten Schritten mehr.
  4. Hiermit aktivieren Sie den API-Zugang.

Schritt 2: Konfigurationsdatei herunterladen

Hierzu müssen Sie sich zuerst in die Horizon-Oberfläche mit dem in Schritt 1 aktivierten API-Zugang einloggen: Openstack login.png Danach müssen Sie einmal oben rechts auf Ihren Benutzernamen (1) und im aufgegangenen Menü auf "Openstack RC Datei"(2) klicken, um die Datei herunterzuladen:

Openstackrc.png

Diese Datei können Sie erstmal zwischenlagern. Diese wird nämlich im Installationsschritt benötigt.

Schritt 3: Openstack auf einem Gerät installieren

  • Verzeichnis für die Openstack CLI anlegen:
 mkdir openstack && cd openstack
  • Virtual Environment mit venv erzeugen und aktivieren:
 python3 -m venv venv
 source venv/bin/activate
  • pip updaten:
pip install --upgrade pip
  • Pakete installieren:
pip install python-openstackclient python-barbicanclient python-cinderclient python-designateclient python-glanceclient python-heatclient python-neutronclient python-novaclient python-octaviaclient
  • Die openrc-Datei, die in Schritt 2 heruntergeladen wurde, in das openstack-Verzeichnis kopieren.
  • openrc laden:
source $openrc_dateiname
  • $openrc_dateiname ist der Name der heruntergeladenen Konfigurationsdatei.
  • Danach kommt die Ausgabe, bei der Sie das Passwort Ihres API-Zugangs eingeben müssen:
Please enter your OpenStack Password for project stack12345 as user a12345:
  • Serverliste zum Prüfen, ob alles korrekt lief:
openstack server list
+-------------------+-------------------+--------+-------------------+-------------------+---------+
| ID                | Name              | Status | Networks          | Image             | Flavor  |
+-------------------+-------------------+--------+-------------------+-------------------+---------+
| d1234c23-1234-123 | supportwiki       | ACTIVE | shared-public-net | N/A (booted from  | a1.xs   |
| 2-abcd-artfiles11 |                   |        |work=192.0.2.161/24,| volume)          |         |
| cd                |                   |        |2001:db8:8893::abc/64|                 |         |
|                   |                   |        |                   |                   |         |
+-------------------+-------------------+--------+-------------------+-------------------+---------+
  • Und nun können Sie die OpenStack CLI auf Ihrem Server verwenden.

Beispiel: Wie lade ich ein Snapshot herunter?

Getestet wurde die Anleitung in Ubuntu 22.04 und macOS Sonoma 14.5
  • Um aus einer VM per Snapshot ein Image zu erstellen, muss man folgenden Befehl ausführen:
nova image-create $instance_name $image_name
  • $instance_name ist der Name des Servers, von dem ein Snapshot als Image erstellt werden soll
  • $image_name ist der Name der neu erstellten Imagedatei, diesen kann man frei wählen.
glance image-download $image_id --file snapshot_name.qcow2
  • Hiermit wird das Image heruntergeladen:
  • $image_id ist die Image-ID, welche Sie bspw. über den Befehl openstack image list (siehe unten) einsehen können.
  • Die Image-ID können Sie sich über die Imageliste anzeigen:
openstack image list
+--------------------------------------+--------------------------------------+--------+
| ID                                   | Name                                 | Status |
+--------------------------------------+--------------------------------------+--------+
| 123456cc-d123-12df-a3cb-d1234567c1bb | test                                 | active |
+--------------------------------------+--------------------------------------+--------+