Installation von OpenStack- und Magnum-Clients für die Befehlszeilenschnittstelle von CODE-DE 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 CODE-DE 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:

../_images/api_access_erased.png

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.

../_images/opencloud_yaml.png

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:

../_images/openrc.png

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:

../_images/enter_password2.png

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:

../_images/openstack_cli.png

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:

../_images/openstack_help.png

So endet es:

../_images/openstack_vim.png

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
../_images/networks_list.png

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
../_images/network_list.png

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:

../_images/openstack_coe.png

Sie können die vorhandenen Cluster mit dem folgenden Befehl anzeigen:

openstack coe cluster list
../_images/openstack_coe_cluster_list.png

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

../_images/cluster_list_horizon.png

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.