Installation von OpenStack- und Magnum-Clients für die Befehlszeilenschnittstelle von EO-Lab Horizon
So erteilen Sie Befehle an die OpenStack- und Magnum-Server
Es gibt drei Möglichkeiten, mit Kubernetes-Clustern innerhalb der Openstack-Module Magnum und Horizon zu arbeiten:
Horizon-Befehle
Sie geben Horizon-Befehle mit Maus und Tastatur über vordefinierte Bildschirmassistenten ein. Dies ist der einfachste Weg für den Anfang, aber auf Dauer nicht der produktivste.
Befehlszeilenschnittstelle (CLI)
CLI-Befehle werden von einem Desktop-Computer oder einem Server in der Cloud ausgegeben. Bei diesem Ansatz können Sie die Befehle als Text speichern und sie anschließend wiederholen. Dies ist der bevorzugte Weg für Fachleute.
HTTPS-Anfragen an den Magnum-Server
Sowohl Horizon als auch die CLI verwenden HTTPS-Anfragen intern und interaktiv. Sie können jedoch Ihre eigene Software schreiben, um den Zustand des Servers in Echtzeit zu automatisieren und/oder zu ändern.
Was wir behandeln werden
Installation der CLI - OpenStack- und Magnum-Clients
Wie man die CLI mit dem Horizon-Server verbindet
Grundlegende Beispiele für die Verwendung von OpenStack- und Magnum-Clients
Hinweise zu Python-Versionen und -Umgebungen für die Installation
OpenStack ist in Python geschrieben, daher müssen Sie zunächst eine Python-Arbeitsumgebung installieren und dann die OpenStack-Clients installieren. Offiziell läuft OpenStack nur auf Python 2.7, aber Sie werden wahrscheinlich nur eine Version 3.x von Python installieren können. Passen Sie während der Installation die in der Dokumentation genannten Zahlen der Python-Versionen entsprechend an.
Sie können Python auf allen gängigen Plattformen installieren, z. B. Windows, MacOS, Linux auf einem Desktop-Computer. Oder, wenn Sie in der Horizon-Oberfläche angemeldet sind, können Sie mit den Befehlen Compute => Instances eine Instanz einer virtuellen Maschine erstellen. Dann installieren Sie Python dort. Ubuntu 18.04 oder 20.04 eignet sich hierfür am besten.
Warnung
Sobald Sie den Kubernetes-Cluster installiert haben, werden Sie auch Instanzen mit Fedora 33 oder 35 installiert haben, z. B. für den Master-Knoten der Steuerungsebene. Sie können dort auch die Python- und OpenStack-Clients installieren, aber Ubuntu ist viel einfacher zu bedienen und in diesem Fall die bevorzugte Lösung.
Sie können Python und die Clients auf mehreren Umgebungen gleichzeitig installieren, z. B. auf einem Desktop-Computer und auf einer virtuellen Maschine auf dem Server. Wenn Sie die Anweisungen in diesem Tutorial befolgen, werden sie ohnehin alle mit ein und demselben Kubernetes-Cluster verbunden sein.
Bemerkung
Wenn Sie sich entscheiden, Python und die OpenStack-Clients auf einer virtuellen Maschine zu installieren, benötigen Sie SSH-Schlüssel, um in die Arbeitsumgebung zu gelangen. Siehe Wie erstellt man ein Schlüsselpaar im OpenStack Dashboard?.
Voraussetzungen
No. 1 Konto
Sie benötigen einen EO-Lab Konto mit Horizon-Schnittstelle https://cloud.fra1-1.cloudferro.com/auth/login/?next=/.
Nr. 2 Installation von OpenStack CLI auf Ubuntu 18.04 Server
Der Artikel Wie installiert man den OpenStackClient (Linux)? zeigt, wie man den OpenStack-Client auf einem Ubuntu-Server installiert. Dieses Ubuntu kann das Desktop-Betriebssystem, eine virtuelle Maschine unter einem anderen Betriebssystem oder ein Ubuntu-Server in der Cloud sein.
Die Installation unter Mac OS erfolgt ähnlich wie die unter Ubuntu.
Nr. 3 Installation von OpenStack CLI unter Windows
Der Artikel So installieren Sie den OpenStackClient (Windows) unter Verwendung von GitBash/Cygwin zeigt die Installation unter Windows.
Nr. 4 Allgemeine Hinweise zur Installation von OpenStack Clients
Es gibt verschiedene Möglichkeiten, Python und die erforderlichen Clients zu installieren. Unter MacOS zum Beispiel können Sie die Clients mit Python PIP oder nativ mit homebrew installieren.
Der Artikel Installation der OpenStack-Kommandozeilen-Clients gibt eine systematische Einführung in die Installation der OpenStack-Clientfamilie auf verschiedenen Betriebssystemen.
Nach der Installation sind die CLI-Befehle auf verschiedenen Plattformen und Betriebssystemen identisch.
Nr. 5 Virtuelle Umgebung für Python 3 erstellen
Erstellen Sie mit diesem Befehl eine virtuelle Umgebung für Python 3 mit dem Modul venv:
python3 -m venv py3-sphinx
Aktivieren“ Sie nun die Umgebung, die hier py3-sphinx genannt wird:
source py3-sphinx/bin/activate
Die Eingabeaufforderung im Terminal beginnt mit dem Namen der Umgebung:
(py3-sphinx) $
Unter MacOS, unter dem diese Dokumente geschrieben wurden, kann die Eingabeaufforderung z. B. den Namen des Benutzers und das Verzeichnis enthalten:
(py3-sphinx) duskosavic@Duskos-iMac CloudFerroDocs %
Schritt 1 Installieren Sie das CLI für Kubernetes auf OpenStack Magnum
In diesem Schritt werden Sie Clients für die Befehle openstack und coe aus den Modulen OpenStack bzw. Magnum installieren.
Folgen Sie den Voraussetzungen Nr. 2, 3 oder 4, um den Hauptclient für OpenStack zu installieren. Sein Name ist python-openstackclient und die dort beschriebene Installation wird typischerweise einen Befehl wie den folgenden enthalten
pip install python-openstackclient
Installieren Sie am Ende der Installation aus einem der vorausgesetzten Artikel den Magnum-Client, indem Sie diesen Befehl eingeben:
pip install python-magnumclient
Schritt 2 Verbinden von OpenStack- und Magnum-Clients mit Horizon Cloud
Nach der Installation sind die Clients für OpenStack und Magnum bereit, auf dem Computer oder Server ausgeführt zu werden. Der nächste Schritt ist die Verbindung mit dem Server durch eine Reihe von HTTPS-Aufrufen. Zuerst müssen Sie
Herunterladen eines Tokens vom Server, dann
es auf dem Server oder Computer installieren, auf dem sich die Clients befinden, und dann
das Token bei jedem einzelnen API-Aufruf an die Cloud verwenden.
Download OpenStack RC File
Führen Sie im Hauptmenü der Horizon-Benutzeroberfläche den Befehl API-Zugriff aus, und Sie erhalten einen Bildschirm, der dem folgenden ähnelt:

Einige Links haben zusätzliche Parameter in ihren Parameterlisten, die jedoch aus Sicherheitsgründen aus dem obigen Bild gelöscht wurden.
Die Clients verwenden den Link mit der Bezeichnung Identity.
https://keystone.cloudferro.com:5000
für die Autorisierung des Zugangs.
Klicken Sie auf die Schaltfläche OpenStack RC-Datei herunterladen auf der rechten Seite des Fensters, dann auf den Menüpunkt OpenStack RC-Datei und laden Sie die RC-Datei herunter.

Der Name der herunterzuladenden Datei beginnt mit Ihrem Benutzernamen für die Horizon-Cloud und endet mit openrc.sh. In diesem Fall ist es cloud_00323_1-openrc.sh.
Nach dem Herunterladen sieht die Datei wie folgt aus:

Ihr Zweck ist es, Systemvariablen zu installieren, die die OpenStack- und Magnum-Clients für die Verbindung mit der Cloud verwenden werden. Die Zeilen, die mit export beginnen, speichern einen Wert in einer Systemvariablen.
Zusammengenommen reichen die Informationen in dieser Datei aus, um eine Verbindung zur Cloud herzustellen.
Führen Sie das RC mit einer Systemanwendung aus
Auf Linux-Systemen sind Dateien mit der Erweiterung .sh ausführbare Dateien, und die erste Zeile in der Datei gibt an, mit welcher Anwendung die Datei ausgeführt werden soll. In diesem Fall verweist die erste Zeile auf bash, ein Standard-Shell-Skript unter Ubuntu.
Mit bash lautet der Befehl zum Ausführen eines Skripts unter Ubuntu source:
source ./cloud_00323_1-openrc.sh
Andere Betriebssysteme haben ihre eigenen Versionen der bash. Unter MacOS Big Sur zum Beispiel würden Sie zsh verwenden, etwa so:
zsh ./cloud_00323_1-openrc.sh
Sie müssen diese Datei zu Beginn jeder Terminalsitzung ausführen, und sie bleibt bestehen, bis das Terminalfenster geschlossen wird. Geben Sie nach Aufforderung Ihr Horizon-Passwort ein:

Sobald das Kennwort eingegeben ist, wird es in eine Systemvariable exportiert, und die Clients werden eingerichtet.
Bemerkung
Das Passwort wird aus Sicherheitsgründen nicht angezeigt.
Schritt 3 Verwendung des OpenStack-Clients
In diesem Schritt werden Sie den OpenStack-Client verwenden, den Sie installiert und mit der Cloud verbunden haben.
Es gibt zwei Möglichkeiten, den OpenStackClient zu verwenden. Wenn Sie an der Eingabeaufforderung des Terminals das Wort openstack eingeben, gelangen Sie in die spezielle Befehlszeilenschnittstelle, etwa so:

Der Vorteil wäre, dass Sie nicht für jeden Befehl das Schlüsselwort openstack eingeben müssen.
Geben Sie quit ein, um die interne Befehlszeile von openstack zu verlassen.
Die bevorzugte Methode ist jedoch die Eingabe des Schlüsselworts openstack, gefolgt von den Parametern und der Ausführung über die Terminal-Befehlszeile.
Openstack-Befehle können Dutzende von Parametern haben, daher ist es besser, den Befehl in einem unabhängigen Texteditor zu verfassen und ihn dann zu kopieren und im Terminal einzufügen.
Der Befehl Hilfe
Um mehr über die verfügbaren Befehle und ihre Parameter zu erfahren, geben Sie –help nach dem Befehl ein. Wenn Sie das Schlüsselwort openstack eingeben, wird eine sehr lange Liste von Befehlen ausgegeben, die Ihnen als Orientierung dienen kann. Sie könnte etwa so beginnen:

So endet es:

Der Doppelpunkt in der letzten Zeile bedeutet, dass die Ausgabe im vi (oder vim) Editor erfolgt. Um ihn zu verlassen, geben Sie den Buchstaben q ein und drücken Sie die Eingabetaste auf der Tastatur.
Die Voraussetzungen Nr. 3 und 4 führen zur offiziellen OpenStack-Benutzerdokumentation.
Hier sehen Sie, was passiert, wenn Sie falsche Parameter eingeben, z.B. networks statt network:
openstack networks list

Sie erhalten eine Liste von Befehlen, die denen ähneln, die Sie gerade eingegeben haben.
Um die im System verfügbaren Netze aufzulisten, verwenden Sie eine Einzelversion des Befehls:
openstack network list

Schritt 4 Wie man den Magnum Client verwendet
Der OpensStack-Befehl für den Server lautet openstack, aber für Magnum lautet der Befehl nicht magnum, wie man erwarten würde, sondern coe, für container orchestration engine. Daher beginnen die Befehle für Cluster immer mit openstack coe.
Siehe Cluster-Befehle durch Eingabe von
openstack coe
in die Befehlszeile ein:

Sie können die vorhandenen Cluster mit dem folgenden Befehl anzeigen:
openstack coe cluster list

Dies sind mehr oder weniger die gleichen Informationen, die Sie über die Horizon-Schnittstelle erhalten:

nach Anklicken von Container Infra => Clusters.
Voraussetzung Nr. 5 bietet weitere technische Informationen über den Magnum-Client.
Was als nächstes zu tun ist
In diesem Artikel haben Sie
die Clients OpenStack und Magnum installiert
sie mit dem Server verbunden,
den Befehl openstack* für den Zugriff auf den Server im Allgemeinen und
den Befehl coe für den Zugriff auf die Cluster im Besonderen verwendet.
die Vorteile der Verwendung der CLI anstelle der Horizon-Schnittstelle und zeigt wie man über die CLI
ein Cluster-Template erstellt, sowie
einen neuen Cluster erstellt.