+49 521 96686-0 info@teuto.net

QuickStart Tutorial

In diesem mehrteiligen Tutorial zeigen wir Ihnen die ersten Schritte in der OpenStack Cloud.

Teil 3 Einrichten eines JumpHosts

Im dritten Teil des Tutorials erklären wir die Einrichtung des SSH-Jumphosts und führen Sie durch die notwendigen Schritte.

Einrichtung des SSH-Jumphosts

Instanz in OpenStack anlegen

Im Vorangehenden Tutorial haben Sie:

  • Ein privates Netzwerk eingerichtet
  • Einen Router erzeugt
  • Die benötigte Security Group eingerichtet
  • Einen SSH-Schlüssel für den Zugriff auf die Instanz erzeugt / importiert.

Um diese Komponenten nun zu verwenden, richten wir im nächsten Schritt eine Instanz für den Jumphost ein. Klicken Sie dazu auf den Menüpunkt Instances um die Übersicht der Instanzen anzuzeigen. Klicken Sie nun auf Launch Instance um eine neue Instanz über den Instanzdialog anzulegen.

Anlegen einer Instanz in OpenStack

Über den Hauptmenüpunkt „Compute“ und die Unuterrubrik „Instances“ öffnen Sie den Dialog zum Erstellen einer neuen Instanz, bzw. eines neuen Hosts. Klicken Sie dazu auf den Button „Launch Instance“

Der Dialog ist in mehrere Punkte aufgeteilt.

Im ersten Punkt „Details“ legen Sie den Namen und eine Beschreibung für den Host fest. Im Feld Instance Name kann ein Name z.B. Jumphorst für die Instanz festgelegt werden.

Die Availability Zone ist bereits ausgewählt.

Instance Count kann festgelegt werden, wie viele gleichartige Instanzen gestartet werden. Da wir nur einen Jumphost benötigen, bleibt der Wert bei 1.

Im Punkt „Source“ legen Sie fest, aus welcher Quelle die Instanz erzeugt werden soll.

Wählen Sie bei Instance Boot Source die Option Boot from Image aus.

Sie können aus einer Reihe von vorgefertigten Basis-Images auswählen. Hier verwenden wir Ubuntu 18.04. Klicken Sie auf das Pfeilsymbol am Ende der Zeile um das Image für diesen Vorgang zu wählen.

Selbstverständlich können Sie eigene Images erstellen und hochladen, das ist allerdings nicht Bestandteil dieses Tutorials.

Über Flavor legen Sie fest, welche Ressourcen der Instanz zur Verfügung stehen. Für den Jumphost kann ein Flavor mit wenig Ressourcen verwendet werden, da dieser nur selten genutzt wird und lediglich SSH und API bereitstellt.

Klicken Sie auf das Pfeilsymbol am Ende der Zeile um den Flavor für diesen Vorgang zu wählen. Ein gelbes Ausrufezeichen in einem Flavor signalisiert unzureichende Quotas, bitte kontaktieren Sie uns sofern Sie ein größeres Quota benötigen.

Im Punkt „Networks“ wählen Sie das eben erstellte Netzwerk aus. Sofern Sie nur ein Netzwerk erstellt haben, wird dieses automatisch ausgewählt. Den Punkt „Network Ports“ überspringen wir in diesem Tutorial.

Wählen Sie bei „Security Groups“ die, in Teil 2 erzeugte, Security Group aus. Klicken Sie dazu auf das Pfeilsymbol am Ende der entsprechednen Zeile.

Über den Punkt „Key Pair“ kann ein SSH-Schlüsselpaar (keypair) hinterlegt werden. In der Liste sehen Sie das erzeugte Key Pair aus Teil 2 des Tutorials. Zusätzlich haben Sie die Möglichkeit in diesem Dialog einen SSH Schlüssel zu importieren bzw. zu erzeugen.

Alle weiteren Punkte überspringen wir in diesem Tutorial. Sie haben alle notwendigen Instanzparameter gesetzt und können über den Button „Launch Instance“ die Instanz bzw. den Host erzeugen.

Anschließend gelangen Sie zurück zur Übersicht der Instanzen und sehen dann die neue Instanz, in der Spalte „Status“ können Sie den Fortschritt des Build-Prozesses sehen. Sobald dieser erfolgreich abgeschlossen ist steht hier der Status „Active“.

Offizielle IP Adresse zuweisen

Sie sehen nun die neu angelegte Instanz in der Übersicht. Klicken Sie in der Zeile der Instanz auf More Associate Floating IP um eine offizielle IP Adresse hinzuzufügen.

Sofern Sie bisher keine IP-Adresse für Ihr Projekt „Alloziert“ haben, können Sie über den Button „+“ den dazugehörigen Dialog öffnen.

Der Pool „extern“ ist bereits voreingestellt. Geben Sie eine sinnvolle Description ein und allozieren die IP-Adresse anschließend über den Button „Allocate IP“ für Ihre OpenStack Cloud

Sie gelangen in den Dialog zurück, Wählen Sie anschließend im Feld IP Address eine Adresse aus und notieren Sie sich die IP-Adresse für die spätere Verwendung. Klicken Sie auf Associate um die IP zuzuweisen.

Sie können die soeben zugewiesene IP-Adresse sofort nutzen um sich per SSH auf den Jumphost zu verbinden. Es ist möglich, dass die neue IP-Adresse jedoch erst nach einiger Zeit in der Instanz-Übersicht in der Spalte „IP Address“ angezeigt wird.

API Zugriff

Um vom Jumphost auf die OpenStack API zugreifen zu können, müssen noch die Zugangsdaten im Environment des Jumphosts hinterlegt sein. Eine entsprechende Konfiguration können Sie im Horizon Dashboard herunterladen. Gehen Sie auf den Hauptmenüpunkt „API Access“. Dort können Sie über den Button „Download OpenStack RC File“ die API Konfiguration herunterladen.

Kopieren Sie nun per scp in Ihrer lokaler Kommandozeile die Datei auf den SSH-Jumphost:

user@desktop:$ scp PROJEKTNAME-openrc.sh ubuntu@JUMPHOST-IP:/home/ubuntu/

Anschließend loggen Sie sich auf dem Jumphost ein und binden die Datei mit Hilfe von source ein, dabei werden Sie nach Ihrem Passwort gefragt.

user@desktop:$ ssh -A ubuntu@JUMPHOST-IP
ubuntu@jumphost:$ cd /home/ubuntu/
ubuntu@jumphost:$ source IHRNAME-openrc.sh

Installieren Sie den python3-openstackclient

user@desktop:$ apt-get install python3-openstackclient

Wie in Teil 1 angekündigt, können Sie jetzt ein SSH-Public Key File mit mehreren Schlüsseln anlegen. Bitte achten Sie auf die Konvention: eine Zeile pro Schlüssel.

ubuntu@jumphost:$ source IHRNAME-openrc.sh
ubuntu@jumphost:$ openstack keypair create --public-key multiple-keys.pub technik-abteilung

Anschließend können Sie kontrollieren ob der Schlüssel verfügbar ist:

ubuntu@jumphost:$ openstack keypair list
+-------------------+-------------------------------------------------+
| Name              | Fingerprint                                     |
+-------------------+-------------------------------------------------+
| fplaceholder      | 50:f5:c2:3b:18:03:5c:5e:33:30:e7:80:ee:ae:00:56 |
| technik-abteilung | ef:a5:17:bb:6e:94:59:65:db:e5:7a:e2:5d:e5:06:06 |
+-------------------+-------------------------------------------------+

Jetzt können Sie beim Instanziieren von Hosts den neu hoch geladenen Schlüssel verwenden. Damit haben mehrere Personen gleichzeitig von Beginn an Zugriff auf diesen Host.

Die API bietet weitaus mehr Möglichkeiten um Kontrolle über die Infrastruktur aus zu üben als es im Horizon möglich ist. Bei Interesse lohnt sich ein Blick auf die API-Dokumentation auf der OpenStack Website.