XCP-ng Cloud Features

Aus Xinux Wiki
Version vom 16. Mai 2024, 09:45 Uhr von Maximilian.pottgiesser (Diskussion | Beiträge) (→‎Verwendung)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Cloud-Funktionen

Cloud-Funktionen beziehen sich auf die Möglichkeit, Ressourcen außerhalb der Administratorgrenzen der Plattform zu delegieren, beispielsweise an Entwickler oder Kunden.

Sie haben mehrere Möglichkeiten:

  • Verwendung der Xen Orchestra Cloud-Funktionen (ACLs, Self-Service)
  • Verwendung von CloudStack oder OpenStack (angepasst an sehr große Bereitstellungen)

Xen Orchestra

Einige interessante "cloud-ähnliche" Funktionen sind in Xen Orchestra verfügbar: ACLs und Self-Service.

Cloud-init

Cloud-init ist ein Programm, das die frühe Initialisierung einer Cloud-Instanz übernimmt. Mit anderen Worten, Sie können bei einer VM, die auf einer "cloud-init"-fähigen Vorlage basiert, eine Vielzahl von Daten beim ersten Start übergeben:

  • Festlegen des Hostnamens
  • Hinzufügen von SSH-Schlüsseln
  • Automatisches Vergrößern des Dateisystems
  • Erstellen von Benutzern
  • und vieles mehr!

Dieses Tool ist ziemlich standardisiert und wird überall verwendet. Viele bestehende Cloud-Vorlagen verwenden es.

Das bedeutet, dass Sie Ihre VM sehr einfach anpassen können, wenn Sie sie aus einer kompatiblen Vorlage erstellen. Es bringt Sie dem "Instanz"-Prinzip näher, wie in Amazon Cloud oder OpenStack.

Beispiel

Anforderungen

Sie müssen lediglich eine VM-Vorlage mit installiertem CloudInit verwenden. Lesen Sie diesen Blogbeitrag, um zu erfahren, wie Sie CloudInit installieren (öffnet ein neues Fenster).


Beispiel: Wie erstelle ich eine Cloud Init-Vorlage mit Ubuntu 24.04 LTS?

1. Erstellen Sie eine VM mit z.B. 2 CPUs, 8 GiB RAM, 10 GiB Festplattenspeicher und installieren Sie Ubuntu 22.04 LTS darauf. 2. Nach dem Neustart führen Sie apt update und apt upgrade auf der Maschine aus. 3. Installieren Sie die Gastwerkzeuge (öffnet ein neues Fenster). 4. Installieren Sie das "cloud-initramfs-growroot", damit die VM eine Cloud-Konfiguration anwenden kann:

   sudo apt install cloud-initramfs-growroot

5. Führen Sie den Befehl sudo cloud-init clean aus. 6. Löschen Sie die machine-id, damit sie beim Verwenden der Vorlage neu generiert werden kann:

   sudo truncate -s 0 /etc/machine-id /var/lib/dbus/machine-id

7. Fahren Sie die VM herunter und erstellen Sie eine Vorlage aus diesem Image.

Verwendung

Wählen Sie zunächst Ihre kompatible Vorlage (CloudInit bereit) und benennen Sie sie:

Aktivieren Sie dann das Konfigurationslaufwerk und fügen Sie Ihren SSH-Schlüssel ein. Oder Sie können auch eine benutzerdefinierte CloudInit-Konfiguration verwenden:

Xcp-cloud-init.png

  • CloudInit-Konfigurationsbeispiele sind hier verfügbar (öffnet ein neues Fenster).

Sie können die Festplattengröße erweitern (in diesem Fall hatte die Vorlage ursprünglich 8 GiB). Wir werden sie auf 20 GiB erweitern:

Xcp-cloud-init-disk .png

Erstellen Sie schließlich die VM:

Starten Sie nun die VM und verbinden Sie sich per SSH mit ihrer IP-Adresse:

  • Das System hat den richtigen VM-Hostnamen (vom VM-Namen)
  • Sie müssen kein Passwort verwenden, um darauf zuzugreifen (dank Ihres SSH-Schlüssels):

ACLs

ACLs (Access Control Lists) können verwendet werden, um einigen XO-Benutzern nur den Zugriff auf bestimmte Ressourcen zu ermöglichen. Weitere Informationen zu ACLs finden Sie in der offiziellen Dokumentation.

Self-Service

Die Self-Service-Funktion ermöglicht es Benutzern, neue VMs innerhalb eines begrenzten Ressourcenbudgets (Quoten) zu erstellen. Dies unterscheidet sich davon, vorhandene Ressourcen (VMs) an sie zu delegieren, und eröffnet viele Möglichkeiten. Lesen Sie die offizielle XO-Dokumentation, um mehr darüber zu erfahren.

CloudStack

Apache CloudStack ist eine Open-Source-Software, die entwickelt wurde, um große Netzwerke von virtuellen Maschinen bereitzustellen und zu verwalten, als hochverfügbare, hochskalierbare Infrastruktur-as-a-Service (IaaS) Cloud-Computing-Plattform. CloudStack wird von einer Reihe von Dienstanbietern verwendet, um öffentliche Cloud-Dienste anzubieten, und von vielen Unternehmen, um eine vor Ort (private) Cloud-Lösung oder als Teil einer Hybrid-Cloud-Lösung bereitzustellen.