Kubernetes- & Rancher-Integration
Stellen Sie Kubernetes-Cluster auf VergeOS mit dem Docker Machine Driver, Cloud Controller Manager, CSI Driver, der Rancher-UI-Erweiterung und Helm-Charts bereit und verwalten Sie sie.
Kubernetes auf VergeOS zu betreiben ist kein aufgesetztes Add-on — es ist eine erstklassige Integration aus vier speziell entwickelten Komponenten (Docker Machine Driver, Rancher UI Extension, Cloud Controller Manager und CSI Driver) sowie einem optionalen Cluster Autoscaler für von Rancher bereitgestellte Cluster aufgebaut, die Rancher (und jeder RKE2/K3s-Installation) vollständige Kenntnis über die Rechenleistung, den Speicher und das Netzwerk von VergeOS geben. Anstatt VergeOS als simplen VM-Host zu behandeln, ermöglichen diese Komponenten Kubernetes, Nodes bereitzustellen, persistenten Speicher anzubinden und Load Balancer über native VergeOS-APIs zu erstellen — dieselben APIs, die auch das Dashboard antreiben.
Voraussetzungen
Bevor Sie die Integration installieren, stellen Sie sicher, dass die Umgebung Folgendes bietet:
Ein Rancher Server Installation (v2.10+) mit
kubectlundhelmCLI-ToolsEin Vorlagen-VM mit installiertem Ubuntu 24.04, cloud-init (und empfohlenem QEMU Guest Agent)
Ein VergeOS-API-Schlüssel erstellt unter Benutzereinstellungen
Ein Ziel-VergeOS-Netzwerk mit aktiviertem DHCP — der Treiber ermittelt die Node-IPs über den QEMU Guest Agent, und geklonte VMs erhalten ohne DHCP keine Adressen
Für persistenten blockbasierten Speicher: eine leere VergeOS-VM mit dem Namen
k8spoolzum Halten ungenutzter Blocklaufwerke (ihre VM-ID wird zur Installationszeit an das CSI-Helm-Chart übergeben; die VM muss niemals starten)
Stack-Übersicht
Die VergeOS-Kubernetes-Integration wird als vier separate Komponenten bereitgestellt — der Docker Machine Driver, die Rancher UI Extension, der Cloud Controller Manager und der CSI Driver — wobei jede für eine Ebene des Stacks verantwortlich ist; für von Rancher bereitgestellte Cluster ist außerdem ein optionaler Cluster Autoscaler verfügbar:
Docker Machine Driver
Stellt VergeOS-VMs als Kubernetes-Nodes bereit — klont Vorlagen, fügt SSH-Schlüssel ein, passt die Festplattengröße an und bindet Netzwerke an.
Rancher UI Extension
Zeigt VergeOS-spezifische Panels für Cloud Credentials und Machine Config direkt im Rancher-Dashboard an.
Cloud Controller Manager
Synchronisiert den Kubernetes-Node-Status mit dem VM-Lebenszyklus von VergeOS und stellt bei Bedarf Load-Balancer-Services bereit.
CSI Driver
Ordnet VergeOS vSAN/NAS-Blockspeicher Kubernetes PersistentVolumes für zustandsbehaftete Workloads zu.
Alle vier Komponenten (DMD, UI Extension, CCM, CSI Driver) werden über das verge-io Helm-Repositorybereitgestellt, was eine konsistente Versionierung und eine vereinfachte Installation sicherstellt. Ein optionaler Cluster Autoscaler ist für von Rancher bereitgestellte Cluster verfügbar.
Docker Machine Driver
Das docker-machine-driver-vergeos ist die Grundlage der Integration. Er bringt Docker Machine (und damit Rancher) bei, wie VMs auf VergeOS erstellt werden — und macht VergeOS damit zu einem erstklassigen Node-Bereitsteller für RKE2- und K3s-Cluster.
Funktionsweise
Wenn Rancher (oder ein eigenständiges Docker Machine) einen neuen Node anfordert, führt der Treiber diese Abfolge aus:
Klonen der Vorlagen-VM — Eine vorgefertigte VergeOS-VM-Vorlage (z. B. Ubuntu 24.04 mit cloud-init) wird geklont, um den neuen Node zu erstellen
Rechenressourcen konfigurieren — CPU-Kerne und RAM werden gemäß der Cluster-Spezifikation festgelegt
SSH-Schlüssel über cloud-init einfügen — Der Treiber erzeugt ein SSH-Schlüsselpaar und fügt den öffentlichen Schlüssel über cloud-init für sicheren, passwortlosen Zugriff ein
Primäre Festplatte vergrößern — Wenn der Cluster mehr Speicher benötigt, als die Vorlage bereitstellt, vergrößert der Treiber die Boot-Festplatte
Mit dem Zielnetzwerk verbinden — Die VM wird mit dem angegebenen virtuellen VergeOS-Netzwerk verbunden
Einschalten und auf IP warten — Der Treiber überwacht die Zuweisung einer IP-Adresse über den QEMU Guest Agent (bevorzugt) oder alternativ über einen DHCP-Lease-Fallback
Wenn ein Schritt fehlschlägt, bereinigt der Treiber automatisch teilweise erstellte VMs — es bleiben keine verwaisten Ressourcen zurück.
Authentifizierung
Der Treiber verwendet API-Schlüssel-Authentifizierung zur Kommunikation mit der VergeOS-REST-API. Erzeugen Sie einen API-Schlüssel in der VergeOS-UI unter Benutzereinstellungenund geben Sie ihn dann über das --vergeos-api-key Flag oder die VERGEOS_API_KEY Umgebungsvariable an.
Konfigurations-Flags
--vergeos-host
VERGEOS_HOST
(erforderlich)
VergeOS-Endpunkt-URL
--vergeos-api-key
VERGEOS_API_KEY
(erforderlich)
API-Schlüssel zur Authentifizierung
--vergeos-insecure
VERGEOS_INSECURE
false
TLS-Überprüfung überspringen
--vergeos-template-vm
VERGEOS_TEMPLATE_VM
(erforderlich)
Name der zu klonenden Vorlagen-VM
--vergeos-network
VERGEOS_NETWORK
(erforderlich)
Zielnetzwerk für die Anbindung
--vergeos-cpu-cores
VERGEOS_CPU_CORES
2
CPU-Kerne pro Node
--vergeos-ram
VERGEOS_RAM
2048
RAM in MB pro Node
--vergeos-disk-size
VERGEOS_DISK_SIZE
0 (Vorlagengröße)
Überschreibung der Festplattengröße in MB
--vergeos-ssh-user
VERGEOS_SSH_USER
root
SSH-Benutzername
--vergeos-ssh-port
VERGEOS_SSH_PORT
22
SSH-Port
--vergeos-cloudinit
—
—
Benutzerdefinierte cloud-init-Konfiguration (Datei oder Inline)
Vorlagenanforderungen
Ihre VM-Vorlage muss Folgendes enthalten:
Cloud-init installiert und aktiviert — erforderlich für die Einfügung von SSH-Schlüsseln und die Hostnamen-Konfiguration
QEMU Guest Agent (empfohlen) — ermöglicht eine zuverlässige Erkennung der IP-Adresse; fällt andernfalls auf den DHCP-Lease der NIC zurück
Docker (nur für eigenständige Nutzung) — Rancher-Bereitstellungen installieren die Container-Runtime automatisch
Unterstützung für Ubuntu 24.04
Der Treiber enthält eine automatische Behandlung der Besonderheiten von Ubuntu 24.04:
Netplan-DHCP-Konfiguration für dynamische
en*Interface-NamensgebungNeuerzeugung der Machine-ID um eindeutige DHCP-Kennungen pro Klon sicherzustellen
Bereinigung veralteter DHCP-Leases um IP-Konflikte durch Vererbung von Vorlagen zu verhindern
Rancher-Node-Größe
Rancher-Bereitstellungen erfordern mindestens 4 GB RAM pro Node. Für Produktionsstabilität werden 8 GB RAM pro Node empfohlen.
Eigenständige Nutzung
Sie können den Treiber außerhalb von Rancher für die spontane Docker-Machine-Bereitstellung verwenden:
Rancher UI Extension
Das ui-extension-vergeos fügt dem Rancher-DashboardVergeOS-spezifische Panels hinzu und bietet so eine native Benutzererfahrung für die Verwaltung von auf VergeOS basierenden Kubernetes-Clustern, ohne die Rancher-UI zu verlassen.
Cloud Credential Panel
Beim Erstellen neuer Cloud Credentials in Rancher fügt die Erweiterung eine VergeOS Anbieteroption hinzu. Geben Sie die URL Ihres VergeOS-Hosts, den API-Schlüssel und die TLS-Einstellungen ein — Rancher speichert diese sicher und verwendet sie für alle nachfolgenden Node-Bereitstellungsoperationen.
Machine Config Panel
Beim Definieren von Node-Pools für einen neuen Cluster zeigt die Erweiterung VergeOS-spezifische Konfigurationsfelder an:
Vorlagen-VM — Wählen Sie aus den verfügbaren VergeOS-VM-Vorlagen
Netzwerk — Wählen Sie das Ziel-virtuelle Netzwerk
CPU / RAM / Festplatte — Legen Sie die Rechenressourcen pro Node fest
Cloud-init — Geben Sie benutzerdefinierte Initialisierungsskripte an
Die Erweiterung wird als Teil des vergeos-node-driver Helm-Charts bereitgestellt, das sowohl den Docker Machine Driver als auch die UI Extension zusammen bündelt.
Cloud Controller Manager
Das vergeos-cloud-controller-manager (CCM) verbindet Kubernetes-Cluster-Operationen mit der VergeOS-Control-Plane und implementiert die standardmäßige Kubernetes-Cloud-Provider-Schnittstelle.
Synchronisierung des Node-Lebenszyklus
Der CCM überwacht fortlaufend die Kubernetes-Node-Liste und synchronisiert sie mit dem VM-Status von VergeOS:
Node-Registrierung — Wenn ein neuer Node dem Cluster beitritt, versieht ihn der CCM mit VergeOS-spezifischen Metadaten (VM-ID, Netzwerk, Zone)
Node-Entfernung — Wenn eine VergeOS-VM gelöscht oder ausgeschaltet wird, markiert der CCM den entsprechenden Kubernetes-Node als nicht verfügbar und löst ein erneutes Planen der Pods aus
Überwachung des Gesundheitszustands — Regelmäßige Prüfungen stellen sicher, dass der Status der Kubernetes-Nodes den tatsächlichen VM-Zustand widerspiegelt
Load-Balancer-Bereitstellung
Wenn ein Kubernetes-Service vom Typ LoadBalancer erstellt wird, stellt der CCM über die VergeOS-Netzwerkschicht einen Load Balancer bereit:
Weist eine virtuelle IP aus dem konfigurierten Adresspool zu
Konfiguriert die Verteilung des Datenverkehrs über die Backend-Node-Ports
Aktualisiert den
status.loadBalancer.ingressdes Services mit der zugewiesenen IP
VergeOS übernimmt die Bereitstellung von Load Balancern nativ über den CCM.
CSI Driver
Das csi-vergeos (Container Storage Interface) Driver stellt VergeOS-Speicher Kubernetes-Workloads über die standardmäßige CSI-Spezifikation bereit.
Speicher-Backends
Der CSI-Driver unterstützt zwei Backends, die beide von einem einzigen Go-Binary bereitgestellt werden:
NAS
ReadWriteMany
EXT4-Volumes auf VergeOS-NAS-Diensten, bereitgestellt über NFS
Block
ReadWriteOnce
VM-Laufwerke, die per Hotplug an VergeOS-VMs über das vSAN angehängt werden
Funktionsweise
Ein Entwickler erstellt eine
PersistentVolumeClaim(PVC) in KubernetesDer CSI-Driver kommuniziert mit der VergeOS-API, um den angeforderten Speicher bereitzustellen
Der Speicher wird an den Node angehängt, auf dem der Pod läuft, und unter dem angegebenen Pfad eingehängt
Beim Löschen des Pods übernimmt der CSI-Driver das Aushängen und optional das Löschen gemäß der Reclaim-Policy
Beispiel für eine StorageClass
Kubernetes-Administratoren definieren StorageClass Ressourcen, die auf VergeOS-Speicher-Backends abgebildet werden. Entwickler verweisen dann in ihren PVCs auf diese Klassen, ohne die zugrunde liegende Infrastruktur verstehen zu müssen.
Helm-Charts
Das helm-charts Repository packt alle VergeOS-Kubernetes-Komponenten für eine optimierte Bereitstellung zusammen. Es sind drei Charts verfügbar:
Verfügbare Charts
vergeos-node-driver
Docker Machine Driver + UI Extension
Node-Bereitstellung und Integration ins Rancher-Dashboard
vergeos-cloud-controller-manager
CCM
Synchronisierung des Node-Lebenszyklus und Bereitstellung von Load Balancern
vergeos-csi
CSI Driver
Persistenter Speicher (NAS + Block)
Installation
Fügen Sie das VergeOS-Helm-Repository hinzu und installieren Sie die Charts:
Das vergeosHosts Wert ist eine erforderliche Whitelist von VergeOS-Hostnamen, die der Proxy von Rancher erreichen darf. Ersetzen Sie vergeos.example.com durch die Hostnamen Ihrer VergeOS-Umgebung(en); ohne ihn kann der Treiber die VergeOS-API nicht erreichen.
End-to-End-Bereitstellungs-Workflow
Wenn alle vier Komponenten zusammengebracht werden, sieht der vollständige Ablauf zur Bereitstellung eines Kubernetes-Clusters auf VergeOS mit Rancher wie folgt aus:
Schritt 1: Eine VM-Vorlage vorbereiten
Erstellen Sie eine VergeOS-VM mit Ubuntu 24.04 (Noble Numbat) — derzeit das einzige unterstützte Vorlagen-Betriebssystem — installieren Sie cloud-init und den QEMU Guest Agent und speichern Sie sie dann als Vorlage. Diese Vorlage wird für jeden Kubernetes-Node geklont.
Schritt 2: Den Node Driver registrieren
Wenden Sie das VergeOS-NodeDriver-Manifest mit kubectlauf Ihren Rancher-Management-Cluster an. Dadurch wird Rancher über den VergeOS Docker Machine Driver informiert und er als Bereitstellungsoption aktiviert. Starten Sie Rancher nach der Registrierung neu, um das Treiberschema zu aktivieren.
Schritt 3: Ein Cloud Credential erstellen
Erstellen Sie in der Rancher-UI ein neues Cloud Credential unter Verwendung des VergeOS-Anbieters (hinzugefügt durch die UI Extension). Geben Sie die URL Ihres VergeOS-Hosts und den API-Schlüssel ein.
Schritt 4: Den Cluster bereitstellen
Erstellen Sie in Rancher einen neuen RKE2- oder K3s-Cluster und wählen Sie VergeOS als Infrastruktur-Anbieter. Definieren Sie Ihre Node-Pools (Control Plane, etcd, Worker) mit den gewünschten Rechenressourcen. Rancher verwendet den Docker Machine Driver, um VMs zu klonen, SSH-Schlüssel einzufügen und den Kubernetes-Cluster zu bootstrappen.
Schritt 5: CCM und CSI bereitstellen
Installieren Sie den Cloud Controller Manager und den CSI Driver per Helm in den neuen Cluster. Der CCM beginnt sofort mit der Synchronisierung des Node-Status mit VergeOS, und der CSI-Driver stellt VergeOS-Speicher für PersistentVolumeClaims bereit.
Schritt 6: Workloads ausführen
Stellen Sie Ihre Anwendungen mit standardmäßigen Kubernetes-Manifests bereit. Services vom Typ LoadBalancer werden vom CCM behandelt, und PersistentVolumeClaims werden vom CSI-Driver erfüllt — alles gestützt durch die VergeOS-Infrastruktur.
Den Node Driver in Rancher registrieren
Der Docker Machine Driver muss als Rancher-NodeDriver-Ressource registriert werden. Wenden Sie das folgende Manifest mit kubectl:
Starten Sie Rancher nach dem Anwenden neu, um das neue Treiberschema zu laden. Die VergeOS-Option wird dann im Assistenten zur Cluster-Erstellung angezeigt.
Zusammenfassung
Die Kubernetes-Integration von VergeOS verwandelt VergeOS von einer VM-Plattform in einen vollwertigen Kubernetes-Cloud-Anbieter. Durch die Implementierung der Docker-Machine-, Cloud-Controller-Manager- und CSI-Schnittstellen stellt VergeOS Kubernetes dieselben Grundbausteine bereit, die auch von öffentlichen Cloud-Anbietern verfügbar sind — automatisierte Knotenbereitstellung, Lifecycle-Management, Lastverteilung und persistenten Speicher — alles läuft auf Ihrer eigenen Infrastruktur mit der Leistung und Effizienz von VergeOS vSAN und virtueller Vernetzung.
Automatisierte Knotenbereitstellung
Der Docker-Machine-Driver klont VMs aus Vorlagen mit cloud-init, SSH-Schlüsseln und Netzwerkanbindung — vollständig automatisiert über Rancher.
Nativer Cloud-Anbieter
Der CCM- und CSI-Treiber implementiert standardmäßige Kubernetes-Schnittstellen, sodass Workloads LoadBalancer Dienste und PersistentVolumeClaims ohne Anpassungen verwenden.
Mit Helm verwaltete Bereitstellung
Alle Komponenten werden als Helm-Charts paketiert, um eine konsistente, versionskontrollierte Installation über Cluster hinweg zu gewährleisten.
Rancher-native Erfahrung
Die UI-Erweiterung bringt die Konfiguration von VergeOS direkt ins Rancher-Dashboard — kein Kontextwechsel erforderlich.
Zuletzt aktualisiert
War das hilfreich?