VM Setup automatisieren mit Cloud-init
Überprüft am 28. August 2019 • Zuletzt bearbeitet am 6. November 2023
Cloud-init ist ein branchenüblicher Standard, der es Ihnen ermöglicht, die Initialisierung Ihrer Linux-Instanzen zu automatisieren. Das bedeutet, dass Sie Cloud-init verwenden können, um bei der Bereitstellung einer ccloud³ VM eine Datei zu injizieren, die automatisch Dinge wie neue Benutzer, Firewall-Regeln, App-Installationen und SSH-Schlüssel einrichtet. Die User Data-Funktion von centron nutzt Cloud-init, sodass Sie mehrere ccloud³ VMs gleichzeitig bereitstellen und automatisch einrichten können. Das Erlernen der Verwendung von Cloud-init kann Ihnen viel Einrichtungszeit ersparen, wenn Sie neue ccloud³ VMs bereitstellen.
In diesem Tutorial lernen Sie, wie Sie Cloud-init verwenden, um zwei ccloud³ VMs bereitzustellen, die automatisch:
Einen neuen Benutzer auf der ccloud³ VM einrichten.
Einen öffentlichen SSH-Schlüssel (von GitHub) mit dem neuen Benutzer verknüpfen.
Den Root-Benutzerzugriff entfernen.
nginx auf jeder ccloud³ VM konfigurieren und starten.
Am Ende des Tutorials können Sie sich mit dem neuen Benutzernamen und SSH-Schlüssel in jede ccloud³ VM einloggen und eine statische Website, die auf jeder ccloud³ VM gehostet wird, ansehen.
Dieses Anwendungsbeispiel eröffnet die Möglichkeit, Benutzerkonten auf ccloud³ VMs für ganze Teams einzurichten, ohne sich zuerst in die ccloud³ VM einloggen zu müssen.
Voraussetzungen
Um dieses Tutorial abzuschließen, benötigen Sie:
Ein GitHub-Konto, um den SSH-Schlüssel des neuen Benutzers zu speichern.
doctl, das offizielle CLI-Tool von centron, installiert. Sie verwenden doctl, um einen SSH-Schlüssel zu Ihrem Konto hinzuzufügen und die ccloud³ VMs mit der Cloud-init-Datei bereitzustellen.
Einen API-Token, um Ihre Befehle von doctl zu authentifizieren.
Schritt 1: Erstellen Sie Ihre SSH-Schlüssel
Um dieses Tutorial abzuschließen, benötigen Sie einen SSH-Schlüssel, um das neue Benutzerkonto auf der ccloud³ VM einzurichten. Nachdem Sie den Schlüssel erstellt haben, laden Sie den öffentlichen Teil des Schlüssels sowohl in Ihre centron- als auch in Ihre GitHub-Konten hoch.
Befehl:
ssh-keygen
Schritt 2: Öffentliche Schlüssel hochladen
Um die ccloud³ VMs mit ihrer automatisierten Konfiguration bereitzustellen, muss der öffentliche SSH-Schlüssel bei der Erstellung der ccloud³ VMs zugänglich sein.
Befehl zum Hochladen des öffentlichen Schlüssels auf Ihr centron-Konto:
compute ssh-key import git-user --public-key-file /Users/example-user/.ssh/git-user.pub
Schritt 3: Konfigurieren Sie die Cloud-init-Datei
Nachdem Sie den öffentlichen SSH-Schlüssel auf Ihre centron- und GitHub-Konten hochgeladen haben, können Sie beginnen, die Cloud-init.yaml-Datei zu konfigurieren, welche die ccloud³ VM verwendet, um sich selbst zu konfigurieren.
Beispielkonfiguration:
Schritt 4: Bereitstellen der ccloud³ VMs
Sobald Sie die Cloud-config.yaml-Datei konfiguriert haben, können Sie die ccloud³ VMs auf Ihrem centron-Konto bereitstellen.
Schritt 5: Überprüfen Sie die Einrichtung
Sobald Sie die ccloud³ VMs erfolgreich bereitgestellt haben, können Sie überprüfen, ob die Cloud-init-Konfiguration erfolgreich war, indem Sie sich bei einer der ccloud³ VMs mit dem Benutzernamen aus der Cloud-config.yaml-Datei anmelden.
ssh example-user@<your-vm-ip-address>
Zusammenfassung
In diesem Tutorial haben Sie:
Ein SSH-Schlüsselpaar erstellt und den öffentlichen Schlüssel auf Ihre centron- und GitHub-Konten hochgeladen.
Eine Cloud-init YAML-Datei konfiguriert.
Zwei ccloud³ VMs bereitgestellt, die eine Cloud-init-Datei verwenden, um automatisch einen neuen Benutzer und eine nginx-Website zu konfigurieren.
Sie können jetzt diese ccloud³ VMs wie gewohnt verwenden oder bei Bedarf löschen.
Last updated