For the complete documentation index, see llms.txt. This page is also available as Markdown.

Kubernetes-Integration

VergeOS bietet native Kubernetes-Integration über einen CSI-Speichertreiber und einen Cloud Controller Manager und stellt Clustern auf VergeOS-VMs persistenten Speicher, Node-Lebenszyklusverwaltung und Load Balancer zur Verfügung.

Übersicht

VergeOS bietet native Kubernetes-Integration über einen CSI-Speichertreiber und einen Cloud Controller Manager (CCM). Diese Komponenten verbinden jeden Kubernetes-Cluster, der auf VergeOS-VMs läuft — unabhängig davon, ob er bereitgestellt wurde über Rancher, kubeadm oder eine andere Methode — mit der zugrunde liegenden VergeOS-Plattform.

Komponente
Zweck

CSI-Treiber

Persistenter Speicher für Kubernetes-Pods über VergeOS vSAN

Cloud Controller Manager

Node-Lebenszyklus und Load-Balancer-Integration

Voraussetzungen

  • Ein Kubernetes-Cluster, der auf VergeOS-VMs läuft (RKE2, K3s, kubeadm usw.)

  • Ein VergeOS-API-Schlüssel (in den Benutzereinstellungen generiert)

  • kubectl und helm CLI-Tools

  • Zugriff auf die kubeconfig des Clusters

Selbstsignierte Zertifikate

Wenn die VergeOS-Umgebung ein selbstsigniertes Zertifikat verwendet, setzen Sie vergeos.verifySSL=false beim Installieren des CSI-Treibers und der CCM-Helm-Charts. Dies ist der Standardwert, aber erwähnenswert, falls wir ihn später ändern.


CSI-Treiber

Der Container Storage Interface (CSI)-Treiber ermöglicht Kubernetes-Pods, VergeOS-Speicher als persistente Volumes anzufordern und einzubinden. Er delegiert Speicheroperationen direkt an die VergeOS-API und nutzt das vSAN für das, wofür es gebaut wurde — Deduplizierung, mehrstufige Platzierung und verteilte Redundanz.

Speicher-Backends

Der CSI-Treiber unterstützt zwei Backends, die beide von einer einzigen Go-Binärdatei bereitgestellt werden:

Backend
Zugriffsmodus
Beschreibung

NAS

ReadWriteMany

EXT4-Volumes auf VergeOS-NAS-Diensten, über NFS bereitgestellt

Block

ReadWriteOnce

VM-Laufwerke, die per Hotplug über das vSAN an VergeOS-VMs angeschlossen werden

Warum nicht Longhorn?

Longhorn betreibt seine eigene replizierte Speicher-Engine innerhalb Kubernetes und legt Replikation, Snapshots und Scheduling auf den Hypervisor auf. Auf VergeOS ist der native CSI-Treiber die bessere Wahl:

  • Keine doppelte Replikation — die verteilte Mirror-Architektur des vSAN bietet bereits Datenredundanz

  • Inline-Deduplizierung — die vSAN-Deduplizierung ist clusterweit global; Longhorn-Volumes sind undurchsichtige Blobs, die daran nicht teilnehmen können

  • Mehrstufige Platzierung — Volumes landen basierend auf der StorageClass auf der richtigen vSAN-Ebene (NVMe, SSD, HDD)

  • Einheitliche Verwaltung — Volumes erscheinen in der VergeOS-Benutzeroberfläche neben VMs, Snapshots und NAS-Freigaben

VM des Blockspeicher-Pools

Erstellen Sie für Blockspeicher eine leere VM in VergeOS mit dem Namen k8spool. Sie muss niemals booten — sie hält nur ungenutzte Blocklaufwerke. Die ID der VM wird bei der Installation an das Helm-Chart übergeben.

Installation

Der CSI-Treiber wird als Helm-Chart aus dem verge-io Helm-Repository verteilt und kann über die Helm-CLI oder über die Rancher Apps UI auf Downstream-Clustern installiert werden. Siehe Dokumentation und Ressourcen unten für Chart-Details, Helm-Werte und Konfigurationsoptionen.


Cloud Controller Manager

Der Cloud Controller Manager (CCM) ist die standardmäßige Kubernetes-Cloud-Provider-Schnittstelle für VergeOS. Er übernimmt das Node-Lebenszyklusmanagement und die Bereitstellung von Load Balancern.

Funktionen

  • Node-Verwaltung — Befüllt die Metadaten von Kubernetes-Nodes (Provider-ID, Instanztyp, interne IPs) aus VergeOS-VMs. Erkennt VM-Existenz und den Power-Status für das Node-Lebenszyklusmanagement.

  • Lastverteilung — Richtet VergeOS-VNet-NAT-/Übersetzungsregeln ein für Typ: LoadBalancer Services. Weist IPs aus einem konfigurierbaren Pool zu und ordnet Service-Ports automatisch Node-Ports zu.

Wie der Node-Lebenszyklus funktioniert

Der CCM implementiert die Kubernetes- InstancesV2 Schnittstelle:

  1. InstanceMetadata — Ordnet einen Kubernetes-Node einer VergeOS-VM zu (nach Provider-ID oder Namen) und gibt dann die Provider-ID zurück (vergeos://<vm-id>), den Instanztyp (<cpu>cpu-<ram>mb), und die internen IP-Adressen aus den VM-NICs

  2. InstanceExists — Prüft, ob die zugrunde liegende VM in VergeOS noch existiert

  3. InstanceShutdown — Meldet, ob die VM ausgeschaltet ist

Wie Lastverteilung funktioniert

Der CCM implementiert die Kubernetes- LoadBalancer Schnittstelle mithilfe von VergeOS-VNet-Regeln:

  1. EnsureLoadBalancer — Weist eine IP aus dem Pool zu und erstellt dann pro Service-Port eine VNet-NAT-Regel. Die Regeln übersetzen <allocated-ip>:<port> auf <node-ips>:<nodePort>. Ruft ApplyRules auf, um sie zu aktivieren.

  2. UpdateLoadBalancer — Aktualisiert die Ziel-IPs bestehender Regeln, wenn sich Nodes ändern

  3. EnsureLoadBalancerDeleted — Löscht alle VNet-Regeln für den Service und wendet die Änderung an

Installation

Der CCM wird zusammen mit dem CSI-Treiber als Helm-Chart verteilt. Installieren Sie ihn über die Helm-CLI oder über die Rancher Apps UI auf dem Downstream-Cluster. Siehe Dokumentation und Ressourcen unten für Chart-Details und Konfigurationsoptionen.


Cluster-Autoscaler

Der Kubernetes Cluster Autoscaler funktioniert mit über VergeOS bereitgestellten Clustern, die durch Rancherbereitzustellen sind. Er passt die Anzahl der Nodes in einem Pool automatisch anhand ausstehender Ressourcenanforderungen von Pods an — skaliert hoch, wenn Pods nicht geplant werden können, und skaliert herunter, wenn Nodes unterausgelastet sind. Siehe Dokumentation und Ressourcen unten für den Link zum Upstream-Projekt.

So funktioniert es

Der Autoscaler nutzt die API von Rancher, um Node-Pools zu verwalten:

  1. Hochskalieren — Wenn Pods aufgrund unzureichender Ressourcen ausstehen, vergrößert der Autoscaler den Node-Pool. Rancher verwendet dann den Docker-Machine-Driver, um neue VergeOS-VMs bereitzustellen.

  2. Herunterskalieren — Wenn Nodes über einen konfigurierbaren Zeitraum unterausgelastet sind, markiert der Autoscaler sie als unschedulable, leert sie und entfernt sie. Der Driver löscht die zugrunde liegenden VergeOS-VMs.


Zusammenfassung

VergeOS bietet drei Kubernetes-Komponenten, die mit jedem Cluster zusammenarbeiten, der auf VergeOS-VMs läuft:

  • CSI-Treiber — persistente Volumes über VergeOS NAS (ReadWriteMany) und vSAN-Blockspeicher (ReadWriteOnce)

  • Cloud Controller Manager — Node-Lebenszyklusmanagement und LoadBalancer von VergeOS-VNet-Regeln unterstützte Services

  • Cluster-Autoscaler — automatische Skalierung von Node-Pools für von Rancher bereitgestellte Cluster

Alle Komponenten werden als Helm-Charts aus dem verge-io Repository verteilt und können über die Helm-CLI oder die Rancher Apps UI installiert werden.

Nächste Schritte

  • Neu bei Rancher auf VergeOS? Siehe den Rancher-Integration Leitfaden für Cluster-Bereitstellung, die Vorbereitung von Template-VMs und das Einrichten des Node-Drivers.

  • Haben Sie bereits einen laufenden Cluster? Fügen Sie das Helm-Repository hinzu und erkunden Sie die verfügbaren Charts:

  • Besuchen Sie die unten aufgeführten Projekt-Repositories für Chart-Werte, Konfigurationsreferenzen und Release Notes.

Dokumentation und Ressourcen

Repository
Beschreibung

csi-vergeos

Container Storage Interface-Treiber

Cloud Controller Manager

helm-charts

Helm-Chart-Repository

Upstream-Cluster-Autoscaler

Support

Wenn Sie auf Probleme stoßen oder Funktionswünsche haben, eröffnen Sie bitte ein Issue im entsprechenden GitHub-Repository:

Zuletzt aktualisiert

War das hilfreich?