XCP-ng Cloud Features

Aus Xinux Wiki
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 =

Requirements

You only need to use a template of a VM with CloudInit installed inside it. Check this blog post to learn how to install CloudInit

(opens new window).

TIP

In XOA 5.31, we changed the cloud-init config drive type from OpenStack (opens new window) to the NoCloud

(opens new window) type. This will allow us to pass network configuration to VMs in the future. For 99% of users, including default cloud-init installs, this change will have no effect. However if you have previously modified your cloud-init installation in a VM template to only look for openstack drive types (for instance with the datasource_list setting in /etc/cloud/cloud.cfg) you need to modify it to also look for nocloud. Example: How to create a Cloud Init template with Ubuntu 22.04 LTS?

   Create a VM with e.g. 2 CPU, 8 GiB of RAM, 10 GiB of disk space, and install Ubuntu 22.04 LTS on it.
   Upon reboot, apt update and apt upgrade the machine.
   Install the Guest Tools
   (opens new window).
   Install the "cloud-initramfs-growroot" so that the VM can apply a Cloud Config:
   sudo apt install cloud-initramfs-growroot
   Run the command sudo cloud-init clean.
   Clear out the machine-id so it can be regenerated when the template is used:
   sudo truncate -s 0 /etc/machine-id /var/lib/dbus/machine-id
   Shutdown the VM and create a template from that image.

Usage

First, select your compatible template (CloudInit ready) and name it:

Then, activate the config drive and insert your SSH key. Or you can also use a custom CloudInit configuration:

   CloudInit configuration examples are available here
   (opens new window).

You can extend the disk size (in this case, the template disk was 8 GiB originally). We'll extend it to 20GiB:

Finally, create the VM:

Now start the VM and SSH to its IP:

   the system has the right VM hostname (from VM name)
   you don't need to use a password to access it (thanks to your SSH key):

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.