Hetzner - DokuWiki

Private Cloud
(OpenStack)
K (verschob „Benutzer:Thomas.blank“ nach „OpenStack Beta“)

Version vom 11. Oktober 2016, 09:26 Uhr

Inhaltsverzeichnis

OpenStack

Dieser Artikel dient dazu, einen Überblick über die Verwendung Ihrer Private-Cloud Installation zu geben. Die hier angegebenen Beispiele dienen zur Orientierung innerhalb Ihrer OpenStack - Cloud. Damit Sie Ihre Infrastruktur möglichst effizient in Betrieb nehmen können.


Erste Schritte



Dashboard/Horizon

Mit der Fertigstellungsmeldung zu Ihrer Installation erhalten Sie einen Link zu Ihrem OpenStack-Dashboard sowie den Daten Ihrer Installation und den einzelnen Root-Servern.

Um die Bedienung zu erleichtern wurde ein Nutzer "demo" angelegt, mit dessen Daten Sie sich zunächst im Dashboard anmelden können. Der "demo" Nutzer besitzt keine Administrativen Rechte, was für die ersten Schritte die Anwendungen etwas erleichtern kann, da weniger Optionen im Dashboard angeboten werden.

Starten einer Instanz

Direkt nach dem Login erhalten Sie eine Übersicht Ihrer Nutzungstatistiken für dieses cloud-projekt.

Auf der linken Seite unter "Project" im Menü "Compute" wählen Sie die option "Instances" aus.

LaunchInstanceHorizon001.png

Rechts, oberhalb der derzeit noch leeren Tabelle klicken Sie auf "Launch Instance".

Füllen Sie die Maske nach Ihren Wünschen aus. Im Tab "Access and Security" wählen Sie zunächst die Security Group "allopen" aus, welche dafür steht, alle Ports an Ihre Instanz weiterzuleiten. Sollten Sie bei der Installation einen SSH-Key hinterlegt haben, steht Ihnen dieser auch hier zur Auswahl. Darüber hinaus können Sie mit einem Klick auf das Plus-Symbol neben dem Auswahlfeld einen neuen SSH-PublicKey hinterlegen.

Im Tab "Networking" können Sie Netzwerkadapter Ihrer Instanz bestimmen. Wählen Sie hierfür bitte das Netzwerk "sample_net" aus. Ein direkter anschluss an das externe Netzwerk ist leider nicht ohne weiteres bei diesem Setup moeglich. Allerdings wird dieses Netzwerk als Floating-IP-Pool verwendet.

Nachdem Ihre Instanz gestartet wurde, können Sie im Drowpdown Menü in der rechten Spalte die Option "FloatingIP" - Zuweisen verwenden. Mit einem Klick auf das + Symbol wird eine neute IP-Adresse aus Ihrem pool "ext_net" für Ihr Projekt bereit gestellt. Diese können Sie dann direkt an die privat Adresse Ihrer Instanz weiterleiten lassen. Nachdem Sie diese Schritte befolgz haben, sollte die Instanz unter der Zugewiesenen Floating-IP erreichbar sein.

LaunchInstanceHorizon002.png


Command-Line Tools

Bevor Sie die OpenStack command-line Clients verwenden können, sollten die entsprechenden Pakete installiert werden.

Hinweise, wie Sie die Python-Clients auf Ihrem System installieren können finden Sie hier:

Command Line Clients


source demo-openrc.sh

Exportiert benötigte Umgebungsvariablen. Dieses Script können Sie über das Dashboard unter Compute->Access & Security-> API Access herunterladen.

Optional: Sollten Sie bei der Installation keinen SSH-Key angegeben haben, können Sie Ihren SSH-Key auch per CLI in OpenStack einfügen

nova keypair-add --pub-key ~/.ssh/id_rsa.pub mykey

Ihre bereits hinterlegten SSH-Keys können Sie wie folgt auflisten:

nova keypair-list

Listen sie die verfügbaren Spezifikationen für Ihre Instanzen auf:

nova flavor-list

Flavor list.png

Auflisten Ihrer Images:

nova image-list

Image list.png

Um die Instanz an das richtige Netzwerk anzubinden, listen Sie zunächst Ihre Netzwerke auf:

neutron net-list

Net list.png

Notieren Sie sich die ID Ihres privaten Netzes ("sample_net") PRIVATE_NET_ID

Auflisten der verfügbaren Security-Groups:

nova secgroup-list

Secgroup list.png

Beispiel Start einer Instanz, parallel zur Methode via Dashboard:

nova boot --flavor m1.small --image Ubuntu_16.04_Server --nic net-id=PRIVATE_NET_ID
 --security-group allopen --key-name mykey test-instance

Hinweis: Das vorinstallierte Ubuntu Image ist nur auf flavors m1.small oder Größer anwendbar.

Nova boot.png

Nachdem die Instanz gestartet wurde können Sie ihr auch mit den CLI-Tools eine externe IP anfügen um Sie zu erreichen:

neutron floatingip-create ext-net

Notieren Sie sich die angegebene IP-Addresse. Mit folgendem Befehl können Sie diese dann an die Instanz Routen lassen:

nova floating-ip-associate test-instance IP-ADDRESSE

OpenStack Services



Keystone

Die Verwaltung von Nutzern und Projekten wird in OpenStack mit dem Service Keystone realisiert. Keystone stellt Ihnen / Ihrem Client / Ihrer Anwendung einen Katalog über die in Ihrer Cloud verfügbaren Services zur Verfügung. Bei erfolgreicher Anmeldung wird Ihnen ein Token ausgestellt, der für den Gebrauch der anderen APIs benötigt wird.

Mit Hilfe von Keystone haben Sie die Kontroller über die Nutzer Ihrer Cloud, zugriffskontrolle auf einzelne Projekte inerhalb der Cloud und strikte Abgrenzung der einzelnen Tenants voneinander.

Ausführliche Informationen sowohl zur Anwendung als auch zur Funktionsweise von Keystone können Sie in der offiziellen Dokumentation hier finden.

Nova

OpenStack Compute ist für die Bereitstellung und Verwaltung von Ihren virtuellen Maschinen zuständig.

Nova bietet die Kernfunktionalitäten rund um Instanzen in Ihrer Cloud an. Neben der API und der Kontrolle über die Hypervisoren ist Nova noch zuständig für den ordnungsgemäßen Betrieb der Security Groups, der Remote-Konsolen sowie der Verwaltung Ihrer SSH-PublicKeys.

Ein Anwendungsbeispiel, ein Instanz zu starten finden weiter oben in diesem Artikel. Weitere Anwendungsbeispiele zu Nova können Sie dem Operator`s Guide entnehmen.

Glance

Für die Verwaltung ihrer Images inerhalb der Cloud ist der Service Glance zuständig. Glance Katalogisiert die von Ihnen gewünschten Images und stellt diese den anderen Services als auch Ihnen direkt zur Verfügung. Darüber hinaus verwaltet Glance von Ihnen erstellte VM-Snapshots und bietet Ihnen die Möglichkeit verschiedene Metadaten an diese Images in Form von Key-Value Paaren zu vergeben. So können Sie beispielweise bestimmte Images auf eine mindestanzahl an CPU-Kernen und menge RAM beschränken, oder den namen des Admin-Users angeben oder Installtierte version einer Software protokollieren. Diese Metadaten können dann direkt per API konsumiert werden, und Ihnen helfen komplexe automatisierte Infrastrukturen aufzubauen.

Die Glance API ist per "openstack image" oder direkt per "glance" erreichbar.

Neutron

OpenStack bietet Ihnen unterschiedlichste Netzwerkfuntionalitäten wie private VLANs, Load-Blancing, DHCP und Routing an. Diese Services sind über die Neutron-API erreichbar. Im Beispiel zum Starten einer Instanz haben Sie bereits gesehen, wie Sie eine FloatingIP zu einer ihrer Instanzen weiterleiten können.

Neutron bietet Ihnen darüber hinaus die möglichkeit, jederzeit Ihre Instanzen an zusätzliche virtuelle Netzwerke Anzuschließen / diese zu entfernen. Mit unterschiedlichsten extensions können Sie die Funktionalität Ihrer Neutron-Installation beispielweise um Load-Balancinc as a Service oder VPN as a Service APIs erweitern. Neutron ermöglicht Ihnen somit komplexe Netzwerkstrukturen aufzubauen und automatisiert zu verwalten.

Cinder

Cinder bietet Ihnen die Möglichkeit Ihre Instanzen mit zusätzlichen virtuellen Festplatten auszustatten. Diese Festplätten können Sie Ähnlich wie einen USB-Stick an eine Instanz anschließen, einbinden, formatieren und beschreiben. Besonders hilfreich hierbei ist, dass diese Art von Storage unabhängig von der angebundenen Instanz ist. Während instanzen meist auf flüchtigem Speicher existieren, sind Daten die auf Volumes geschrieben werden persistent.

Sie können diese Volumes beispielsweise als Konfigurationsdatenträger Verwenden, den Sie bei mehren Instanzen nacheinander verwenden möchten. Ebenso können Sie Instanzen direkt auf Grundlage eines Cinder-Volumes starten, was die Festplatte dieser Instanz dauerhaft als Cinder-Volume einbindet und Ihnen erlaubt nachdem sie die Instanz gelöscht haben, eine neue im selben Zustand wie die vorherige zu starten.

Cinder bietet Ihnen somit eine flexible Storage-Lösung, die Ihre Instanzen sinnvoll ergänzt und Ihnen hilft Speicherknappheiten zu bewältigen und wichtige Daten zu sichern.

Swift

OpenStack Swift bietet Ihnen einen Object-Store an, den Sie verwenden können um unterschiedlichste Dateien in "Containern" abzulegen. Sie können diese Container mit anderen Nutzern teilen oder auf Ihre Cloud beschränken. Aufgrund der comfortablen API können Sie Swift als Storage-Backend für unterschiedlichste Anwendungen verwenden oder als allgemeinen Ablageplatz für Konfigurationsdateien oder Scripte einsetzen.

Zahlreiche Anwendungen unterstützen die Verwendung von OpenStack Swift als Storage-Backend. So können Sie beispielsweise eine Own-Cloud dahingehend konfigurieren Ihre Swift-Installation zum Speichern Ihrer Daten zu verwenden.

Das Beispiel, Swift mit OwnCloud zu verbinden finden Sie in der Dokumentation von OwnCloud



© 2019. Hetzner Online GmbH. Alle Rechte vorbehalten.