Eine VM mit dem OpenStack-CLI-Client in der CODE-DE-Lab Cloud erstellen
Dieser Artikel beschreibt, wie Sie eine virtuelle Maschine in der CODE-DE-Lab FRA1-3 Cloud ausschließlich mit dem OpenStack-CLI-Client erstellen. Er enthält die grundlegenden Informationen für den Einstieg.
Inhalt dieser Anleitung
Informationen zum Erstellen einer virtuellen Maschine sammeln
Eine virtuelle Maschine erstellen (mit einem vom Benutzer hochgeladenen Debian-Image als Beispiel)
Voraussetzungen
Nr. 1 Konto
Sie benötigen ein Hosting-Konto bei CODE-DE-Lab mit Zugriff auf die Horizon-Oberfläche: https://identity.cloudferro.com/auth/realms/CODE-DE3/account/.
Nr. 2 Konfigurierter OpenStack-CLI-Client
Der OpenStack-CLI-Client muss konfiguriert und funktionsfähig sein. Dieser Artikel beschreibt die Einrichtung: Wie installiert man den OpenStackClient (Linux)?. Mit dem am Ende des Artikels genannten Befehl openstack server list können Sie prüfen, ob Ihre OpenStack CLI korrekt aktiviert ist. Er sollte eine Liste Ihrer virtuellen Maschinen zurückgeben.
Nr. 3 Hochgeladener öffentlicher SSH-Schlüssel
Falls das gewünschte Image beim Erstellen der virtuellen Maschine einen SSH-Schlüssel erfordert, muss dieser in die CODE-DE-Lab FRA1-3 Cloud hochgeladen werden. Die folgenden Artikel helfen Ihnen dabei:
Immer die aktuelle Image-ID verwenden
Die standardmäßig verfügbaren Betriebssystem-Images in der CODE-DE-Lab Cloud werden gelegentlich auf neue Versionen aktualisiert. Dadurch ändert sich ihre Image-ID. Angenommen, die Image-ID für Ubuntu 20.04 LTS lautete beim Verfassen dieses Artikels 574fe1db-8099-4db4-a543-9e89526d20ae. Beim Durcharbeiten des Artikels verwenden Sie die aktuelle Image-ID und ersetzen damit 574fe1db-8099-4db4-a543-9e89526d20ae im gesamten Text.
Angenommen, Sie möchten OpenStack-Prozesse automatisieren, etwa mit Heat, Terraform, Ansible oder einem anderen Automatisierungswerkzeug. Wenn Sie 574fe1db-8099-4db4-a543-9e89526d20ae als Image-ID verwenden, ist dieser Wert fest im Code hinterlegt. Sobald er sich durch eine Aktualisierung ändert, kann der automatisierte Prozess fehlschlagen.
Warnung
Stellen Sie sicher, dass Ihr Automatisierungscode die aktuelle Image-ID des Betriebssystems verwendet und keinen fest im Code hinterlegten Wert.
Schritt 1: Informationen zum Erstellen Ihrer virtuellen Maschine sammeln
Ein Image auswählen
In diesem Artikel verwenden Sie ein Image als Quelle für Ihre virtuelle Maschine. Dafür kommen folgende Images infrage:
Standard-Images in der CODE-DE-Lab FRA1-3 Cloud
Images, die aus anderen Projekten mit Ihnen geteilt wurden und die Sie angenommen haben
Selbst hochgeladene Images, beispielsweise nach dieser Anleitung: Wie laden Sie Ihr benutzerdefiniertes Image mit OpenStack CLI hoch?
Andere Quellen werden in diesem Artikel nicht behandelt.
Mit dem folgenden Befehl können Sie diese Images anzeigen:
openstack image list
Sie sollten eine Ausgabe wie diese erhalten:
In diesem Beispiel sehen Sie die Standard-Images der Cloud sowie das vom Benutzer hochgeladene Image Debian-test.
Beim Erstellen Ihrer virtuellen Maschine mit openstack server create übergeben Sie den Namen oder die ID des gewünschten Images mit dem Parameter --image.
Flavor
Flavors bestimmen die Hardware, die der virtuellen Maschine zur Verfügung steht. Mit diesem Befehl können Sie die verfügbaren Flavors auflisten:
openstack flavor list
Wählen Sie den Flavor, der Ihren Anforderungen am besten entspricht. Beim Erstellen Ihrer virtuellen Maschine mit openstack server create übergeben Sie die ID oder den Namen des gewählten Flavors mit dem Parameter --image.
Beachten Sie, dass die folgenden Flavors Zugriff auf eine NVIDIA-GPU bieten:
vm.a6000.1
vm.a6000.2
vm.a6000.4
vm.a6000.8
Verwenden Sie diese ausschließlich mit Standard-Images der CODE-DE-Lab FRA1-3 Cloud, deren Name NVIDIA enthält. Diese Images enthalten speziell für diese Flavors vorgesehene Software.
Schlüsselpaar
Viele Images übernehmen den öffentlichen SSH-Schlüssel, der beim Erstellen der VM angegeben wird. Bei einigen Images ist dies die einzige Zugriffsmöglichkeit auf die virtuelle Maschine. Im OpenStack-CLI-Client können Sie die verfügbaren Schlüsselpaare mit diesem Befehl auflisten:
openstack keypair list
Beim Erstellen Ihrer virtuellen Maschine mit openstack server create übergeben Sie die ID oder den Namen des gewählten Schlüsselpaars mit dem Parameter --key-name.
Netzwerke
Führen Sie den folgenden Befehl aus, um die Netzwerke aufzulisten, die mit Ihrer virtuellen Maschine verbunden werden können:
openstack network list
Beim Erstellen Ihrer virtuellen Maschine mit openstack image create übergeben Sie die ID oder den Namen der gewählten Netzwerke mit dem Parameter --network.
Fügen Sie jedes Netzwerk mit einem eigenen Parameter --network hinzu. Um Ihre virtuelle Maschine beispielsweise mit den Netzwerken network1 und network2 zu verbinden, ergänzen Sie den Befehl openstack server create wie folgt:
--network network1 --network network2
Bemerkung
Wenn Sie von Ihrer virtuellen Maschine auf das EODATA-Repository zugreifen möchten, fügen Sie ein Netzwerk hinzu, dessen Name mit eodata_ beginnt und das standardmäßig in Ihrem Projekt vorhanden ist.
Sicherheitsgruppen
Sicherheitsgruppen erlauben oder sperren verschiedene Arten von Internetverkehr für Ihre virtuelle Maschine. Führen Sie den folgenden Befehl aus, um die verfügbaren Sicherheitsgruppen aufzulisten:
openstack security group list
Übergeben Sie die Sicherheitsgruppen mit dem Parameter --security-group. Mehrere Sicherheitsgruppen können Sie ähnlich wie die oben beschriebenen Netzwerke hinzufügen. Für die Sicherheitsgruppen group1 und group2 ergänzen Sie den Befehl openstack server create beispielsweise wie folgt:
--security-group group1 --security-group group2
Schritt 2: Eine virtuelle Maschine erstellen
Führen Sie den Befehl openstack server create aus. Ergänzen Sie die Parameter entsprechend Ihrer Auswahl aus Schritt 1. Geben Sie am Ende des Befehls den gewünschten Namen Ihrer virtuellen Maschine an.
Beispiel
Angenommen, Sie haben das Debian-11-Image wie in Wie laden Sie Ihr benutzerdefiniertes Image mit OpenStack CLI hoch? beschrieben unter dem Namen Debian-test hochgeladen. Es gibt kein weiteres Image mit diesem Namen. Sie möchten eine virtuelle Maschine mit folgenden Eigenschaften erstellen:
Name: Test-Debian
Flavor: eo1.small
Quelle: das soeben hochgeladene Image Debian-test
Schlüsselpaar: ssh-key, zuvor in Ihr Konto hochgeladen
Sicherheitsgruppen: default und allow_ping_ssh_icmp_rdp
Netzwerke: cloud_00734_1, eodata_00734_1
In Ihrem Fall können diese Parameter abweichen.
Beachten Sie, dass bei diesem Image ein Schlüsselpaar erforderlich ist: Auf die erstellte virtuelle Maschine kann nur per SSH zugegriffen werden. Das Standardkonto erlaubt keine Anmeldung mit Passwort.
Im oben beschriebenen Fall lautet der Befehl zum Erstellen dieser virtuellen Maschine wie folgt:
openstack server create --image Debian-custom-upload --flavor eo1.small --key-name ssh-key --network cloud_00734_1 --network eodata_00734_1 --security-group default --security-group allow_ping_ssh_icmp_rdp Test-Debian
Wenn Sie den Befehl korrekt eingegeben haben, erhalten Sie eine Ausgabe mit Informationen zu Ihrer VM, beispielsweise:
Das Feld OS-EXT-STS:vm_state zeigt wahrscheinlich building an. Das bedeutet, dass die VM bereitgestellt wird. Kopieren Sie die ID Ihrer VM aus dem Feld ID, um ihren aktuellen Status zu prüfen. Führen Sie anschließend den folgenden Befehl aus und ersetzen Sie 5be763f5-26aa-447b-b944-7c1d8775c9a9 durch die ID Ihrer VM.
openstack server show 5be763f5-26aa-447b-b944-7c1d8775c9a9
In der Regel zeigt die Ausgabe des obigen Befehls nach spätestens einer Minute im Feld power_state den Wert Running an:
Ihre virtuelle Maschine sollte nun betriebsbereit sein. Wie bereits erwähnt, sind virtuelle Maschinen mit diesem Image nur per SSH erreichbar. Da Sie beim Erstellen der VM den SSH-Schlüssel angegeben haben, sollte der Zugriff möglich sein.
Schritt 3: Eine Floating IP über die CLI hinzufügen
Für den Zugriff aus dem Internet benötigt die virtuelle Maschine eine Floating IP. Mit diesem Befehl können Sie die in Ihrem Projekt verfügbaren Floating IPs auflisten:
openstack floating ip list
Ist die Ausgabe leer, sind dem Projekt noch keine Floating IPs zugewiesen.
Führen Sie den folgenden Befehl aus, um Ihrem Projekt eine Floating IP zuzuweisen. Dabei ist external der Name des externen Netzwerks Ihres Projekts.
openstack floating ip create external
Bemerkung
Dieses Netzwerk heißt standardmäßig external. Sie finden es mit dem Befehl openstack network list.
Die Ausgabe dieses Befehls enthält Informationen zur erstellten Floating IP, beispielsweise:
Weisen Sie nun die neu erstellte Floating IP Ihrer virtuellen Maschine zu. Führen Sie dazu den folgenden Befehl aus. Ersetzen Sie 64.225.134.148 durch die IP-Adresse aus dem Feld floating_ip_address in der Ausgabe des vorherigen Befehls.
openstack add floating ip Test-Debian 64.225.134.148
Bei erfolgreicher Ausführung erzeugt dieser Befehl keine Ausgabe. Mit dem folgenden Befehl können Sie die Zuweisung überprüfen:
openstack server list
Die Zeile mit den Informationen zu Ihrer virtuellen Maschine sollte sowohl die lokale IP-Adresse (in diesem Beispiel 10.0.0.119) als auch die Floating IP (hier 64.225.135.230) enthalten. Falls Sie weitere Netzwerke verbunden haben, sollten auch deren lokale IP-Adressen erscheinen. In diesem Beispiel wäre dies 10.240.137.198 für das Netzwerk eodata_00743_1.
Sie können sich nun per SSH mit Ihrer neuen VM verbinden und Befehle ausführen. Beim Standard-Debian-Image lautet der Benutzername debian. Verwenden Sie für die Verbindung den folgenden Befehl und ersetzen Sie 64.225.134.148 durch die Floating IP Ihrer virtuellen Maschine. Falls Sie den Speicherort des SSH-Schlüssels angeben müssen, verwenden Sie wie gewohnt den Parameter -i.
ssh debian@64.225.134.148
Wie üblich sollten Sie eine Rückfrage wie diese erhalten:
Antworten Sie mit yes und drücken Sie die Eingabetaste.
Nun sollten Sie Befehle ausführen können. Das Konto debian verfügt über sudo-Berechtigungen:
Nächste Schritte
Wenn Ihre neu erstellte virtuelle Maschine in der CODE-DE-Lab Cloud Debian, Ubuntu oder CentOS verwendet und Sie auf das EODATA-Repository zugreifen möchten, hilft Ihnen dieser Artikel: EODATA unter Linux mit S3FS auf CODE-DE-Lab einbinden
Falls Ihre virtuelle Maschine in der CODE-DE-Lab Cloud unter Windows läuft, erfahren Sie in diesem Artikel, wie Sie auf das EODATA-Repository zugreifen: EODATA auf einer virtuellen Windows-Maschine bei CODE-DE-Lab einbinden