Die Bereitstellung eines High Availability (HA) SUSE Rancher Prime-Clusters auf der IONOS Cloud unterstützt Strategien zur digitalen Souveränität. Durch die Kombination von Open-Source-Software mit einem europäischen Cloud-Anbieter bleiben Datenstandorte unter Kontrolle und der Betrieb unabhängig. Dieser Artikel behandelt die Referenzarchitektur, manuelle Konfigurationsschritte und einen automatisierten Infrastructure-as-Code-Ansatz (IaC). Es kommt das Bring-Your-Own-Subscription (BYOS)-Modell zur Anwendung, wobei RKE2 die Grundlage von Kubernetes bildet. Der Schwerpunkt liegt auf der Bereitstellung von Rancher Manager.
Die Architektur
Abbildung 1 zeigt die Architektur. Diese kombiniert Empfehlungen von SUSE Rancher Prime mit Funktionen von IONOS Cloud. Das System nutzt RKE2 als zugrunde liegende Kubernetes-Distribution, die auf SUSE Linux Enterprise Server (SLES) 15 SP7 läuft. Sie kombiniert und Funktionen von IONOS Cloud.

Drei Control-Plane-Knoten werden über die Infrastruktur verteilt, um den Rancher Manager Cluster zu bilden. Ein IONOS Cloud Network Load Balancer (NLB) dient als Einstiegspunkt für den Datenverkehr. Das Netzwerk nutzt zwei separate LANs. Ein öffentliches LAN versorgt die Knoten mit Internetzugang für Updates und Verwaltung, während ein privates LAN die interne Kommunikation zwischen den Knoten übernimmt. Der Load Balancer leitet eingehenden Datenverkehr über das private Netzwerk direkt zum Cluster.
Für die Rechenressourcen kommen dedizierte Core-Server und SSD-Premium-Speicher zum Einsatz. IONOS Cloud stellt verschiedene Compute-Optionen bereit. Dedizierte Core-Server nutzen dabei den kompletten physischen Core exklusiv und ohne Überprovisionierung der VM. Ebenso stehen unterschiedliche Performanceklassen für Block Storages zur Auswahl. Die Performance ist bereits im Service inkludiert und wird je nach Größe des Volumes automatisch und ohne Zusatzkosten bereitgestellt. Die selektierten Hardwareoptionen entsprechen den Anforderungen von SUSE Rancher Prime auf RKE2 und bieten eine geringe Latenz für den etcd-Datenspeicher.
Option 1: Manuelle Einrichtung
Die manuelle Erstellung der Umgebung verdeutlicht das Zusammenspiel der Komponenten. Der IONOS Cloud Data Center Designer (DCD) dient hierfür als visuelle Schnittstelle.
Ein neues virtuelles Rechenzentrum wird angelegt. Abbildung 2 zeigt ein Beispiel.

Für den Cluster werden drei virtuelle Maschinen mit jeweils 4 dedizierten Kernen und 16 GB RAM konfiguriert (Abbildung 3).

Jede VM erhält ein 600 GB SSD Premium-Speichervolumen namens „root“ auf Basis des SLES 15 SP7 BYOS-Images. IONOS Cloud skaliert die E/A-Leistung basierend auf der Volumengröße, um die erforderliche IOPS für etcd bereitzustellen (Abbildung 5). Wie zuvor beschrieben, ist die Storageperformance bereits im Servicepreis inkludiert. Dem Image wird ein Public SSH Key hinzugefügt, um später über ein Terminal auf die VMs zugreifen zu können.


Abbildung 6 zeigt die drei Knoten mit angeschlossenen Root-Volumes.

Jede VM benötigt zwei Netzwerkschnittstellen. Eine verbindet sich mit dem öffentlichen LAN für die Internetverbindung (Abbildung 7). Die zweite verbindet sich mit dem privaten LAN für den internen Cluster-Datenverkehr (Abbildung 8). Weiterführende Informationen: Netzwerke in virtuellen Rechenzentren.


Diese Schritte werden auf allen drei virtuellen Maschinen wiederholt und mit demselben LAN (NIC 0 = öffentlich, NIC 1 = privat) verbunden. Das Ergebnis ist in Abbildung 9 sichtbar.

Der IONOS Cloud Network Load Balancer verarbeitet den eingehenden Datenverkehr des Clusters. Er führt TCP-Zustandsprüfungen durch, um reagierende Ziele zu finden. Anschließend leitet er den Datenverkehr an aktive Knoten weiter. Der DCD erstellt eine neue Instanz, fügt eine öffentliche sowie eine private IP-Adresse hinzu und verbindet die Schnittstellen mit den vorhandenen Netzwerken. Das Ergebnis ist in Abbildung 10 dargestellt.

Weiterleitungsregeln für die TCP-Ports 80 und 443 verarbeiten den Rancher-UI-Datenverkehr. Zusätzliche Regeln für den TCP-Port 9345 ermöglichen es neuen Downstream-Knoten, sich beim RKE2-Cluster zu registrieren, und Port 6443 bedient die Kubernetes-API. Weiterführende Literatur: RKE2: Konfigurieren der festen Registrierungsadresse.
Abbildung 11 zeigt ein Beispiel für eine solche Weiterleitungsregel auf Basis von HTTP.

Es werden vier Regeln für die verschiedenen Ports hinzugefügt, wobei alle Regeln auf die drei virtuellen Maschinen für den Rancher Manager verweisen (Abbildung 12).

Im DCD wird „Provision Changes“ ausgewählt und der Abschluss der Bereitstellung abgewartet (Abbildung 13).

Konfiguration der Cluster-Software
Sobald die Infrastruktur bereit ist, erfolgt der Zugriff per SSH auf die Knoten, um die Software zu konfigurieren. Das Betriebssystem muss über SUSEConnect beim SUSE Customer Center registriert werden.
Zur Registrierung der virtuellen Maschine bei SCC, Installation von iptables und Anwendung von Updates werden folgende Befehle ausgeführt:
SUSEConnect -r <REGISTRATIONCODE> -e <EMAIL>
zypper ref && zypper --non-interactive in iptables
zypper --non-interactive dup
Die Datei /etc/rancher/rke2/config.yaml wird auf allen virtuellen Maschinen als privilegierter Benutzer erstellt. Der Wert für “token” muss auf jedem Knoten identisch sein, da zusätzliche Knoten diesen Wert verwenden, um dem Cluster beizutreten. Der Parameter “server” wird dabei nur auf dem zweiten und dritten Knoten gesetzt.
token: <SECRETCLUSTERTOKEN>
server: https://<LoadBalancerPublicIP>:9345
node-external-ip: <VMPublicIP>
node-ip: <VMPrivateIP>
advertise-address: <VMPrivateIP>
tls-san:
- <LoadBalancerPublicIP>
- <VMPublicIP>
Hinweis: Wenn DNS-Namen konfiguriert sind, die auf den Load Balancer und/oder virtuelle Maschinen verweisen, werden diese ebenfalls zur Liste „tls-san“ hinzugefügt. Weiterführende Informationen: RKE2: Installation – Hochverfügbarkeit.
Der Installationsbefehl wird auf dem ersten Knoten ausgeführt, um den RKE2-Cluster zu starten. Die Version „v1.34.2+rke2r1“ kann entsprechend den Anforderungen und aktuellen Bedürfnissen angepasst werden.
curl -sfL https://get.rke2.io --output install.sh
chmod +x install.sh
INSTALL_RKE2_VERSION="v1.34.2+rke2r1" ./install.sh
Wichtig: Wenn in der RKE2-Konfiguration kein benutzerdefiniertes „token“ festgelegt wurde, muss das Knotentoken vom ursprünglichen Server abgerufen und auf den zusätzlichen Knoten konfiguriert werden, bevor das RKE2-Installationsskript ausgeführt wird. Dieses Token befindet sich unter „/var/lib/rancher/rke2/server/node-token“.
Der Befehl „join“ wird einschließlich des Cluster-Tokens auf den beiden verbleibenden Knoten ausgeführt, um die HA-Einrichtung abzuschließen.
# Ensure parameters in “/etc/rancher/rke2/config.yaml” are set correctly
# Especially that "server" is configured before installation and cluster join
curl -sfL https://get.rke2.io --output install.sh
chmod +x install.sh
INSTALL_RKE2_VERSION="v1.34.2+rke2r1" ./install.sh
Die Befehlssyntax und Details zur Ausführung sind in der offiziellen Dokumentation zu finden. Weiterführende Informationen: RKE2: Starten zusätzlicher Serverknoten.
Installation des Rancher Managers
Der letzte Schritt ist die Installation von Rancher Manager. Diese erfolgt von einem Clusterserver oder einem lokalen Rechner aus. Voraussetzungen hierfür sind kubectl, helm und eine gültige kubeconfig.
Die Helm-CLI wird verwendet, um Cert-Manager und anschließend das Rancher-Chart bereitzustellen.
Für SUSE Rancher Prime sollten das spezielle Prime-Chart-Repository zum Einsatz kommen, wodurch der Zugriff auf die unterstützte Version ermöglicht wird. Community-Benutzer können die Standard-Repositorys nutzen.
Es können Let’s Encrypt, selbstsignierte Zertifikate oder eine private Zertifizierungsstelle (CA) verwendet werden. Weiterführende Informationen: RKE2: Rancher auf einem Kubernetes-Cluster installieren/aktualisieren.
# SUSE Rancher Prime
# See: https://documentation.suse.com/cloudnative/rancher-manager/v2.12/en/installation-and-upgrade/install-rancher.html#_1_add_the_helm_chart_repository
helm repo add rancher-prime <AddHelmChartRepoURL>
# Rancher community
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
# Create namespace for Rancher
kubectl create namespace cattle-system
# Add the Jetstack Helm repository
helm repo add jetstack https://charts.jetstack.io
# Update local Helm chart repository cache
helm repo update
# Install the cert-manager Helm chart
helm install cert-manager jetstack/cert-manager \
--namespace cert-manager \
--create-namespace \
--set crds.enabled=true
# Once cert-manager is installed, verify it is deployed correctly by checking the cert-manager namespace for running pods
kubectl get pods --namespace cert-manager
# Rancher Generated Certificates (Default)
helm install rancher rancher-<CHART_REPO>/rancher \
--namespace cattle-system \
--set hostname=<LoadBalancerPublicIPOrDNSName> \
--set bootstrapPassword=<BootstrapPassword>
# Wait for Rancher to be rolled out
kubectl -n cattle-system rollout status deploy/rancher
Rancher Manager ist jetzt betriebsbereit und über HTTPS über die öffentliche IP-Adresse oder den DNS-Namen des Network Load Balancers zugänglich.
Das benutzerdefinierte Bootstrap-Passwort wird eingegeben oder über den Befehl kubectl in Abbildung 14 abgerufen.

Es wird ein Passwort für den Admin-Benutzer festgelegt, die Rancher Manager Server-URL bestätigt oder angepasst sowie die EULA akzeptiert (Abbildung 15).


Option 2: Automatisiertes Setup
Zur Automatisierung der Infrastruktur wird der bereitgestellte Code als Referenz verwendet Demo: Rancher on IONOS Cloud-Repository.
Dieser Code automatisiert die Einrichtung. Er definiert das virtuelle Rechenzentrum sowie die LANs und stellt den Network Load Balancer sowie virtuelle Maschinen bereit. Zudem konfiguriert der Code die Dual-Netzwerk-Schnittstellen und die Speichereinstellungen.
Die Konfiguration ist modular aufgebaut. Sie verwendet den offiziellen IONOS-Cloud-Anbieter und die tf-rancher-up-Module. Das RKE2-Modul verwendet Cloud-init, um das Software-Bootstrapping zu automatisieren. Es registriert IONOS Cloud-Server bei SCC, lädt RKE2 herunter und tritt beim Start dem Cluster bei. Das Rancher-Modul übernimmt die Installation des Helm-Diagramms. Es wartet, bis die Kubernetes-API fehlerfrei ist, und stellt dann Cert-Manager und Rancher bereit.
Dieser Code wird als Referenz und Blaupause für die eigene IaC-Automatisierung (Infrastructure as Code) verwendet. Bereitstellungsvariablen werden in einer terraform.tfvars-Datei angepasst. Durch Ausführen von terraform apply oder tofu apply werden die Infrastrukturkomponenten hochgefahren, die Weiterleitungsregeln für den Load Balancer konfiguriert und die Softwareinstallation gestartet. Die Ausgabe gibt die URL des Rancher Managers an, sobald der Prozess abgeschlossen ist.
Die README-Datei des Projekts enthält alle Details zur Konfiguration und Verwendung.
Fazit
Die Bereitstellung eines hochverfügbaren Rancher Managers in der IONOS Cloud ist abgeschlossen. Dieser Artikel zeigt die manuelle Einrichtung zur Erläuterung der Architektur auf und behandelt zudem den automatisierten Infrastructure-as-Code-Ansatz.
Diese Umgebung bietet eine solide Grundlage für das Kubernetes-Management. Sie kombiniert Open-Source-Flexibilität mit einem europäischen Anbieter, um Ziele im Bereich der Datenhoheit zu unterstützen. Damit steht eine Plattform zur Verfügung, die die lokale Datenkontrolle priorisiert.
Der Management-Cluster läuft. Jetzt können Workloads integriert werden, indem vorhandene Kubernetes-Cluster registriert werden oder neue Kubernetes-Cluster auf vorhandenen benutzerdefinierten Knoten starten.
In Kürze werden weitere Informationen zur Verwendung des IONOS Cloud Cluster API (CAPI)-Providers veröffentlicht. Zudem sind in der Zukunft technische Sitzungen über Rancher auf IONOS Cloud geplant.
Weiterführende Links
- IONOS Cloud Data Center Designer (DCD)
- IONOS Cloud Dokumentation
- Dokumentation zum IONOS Cloud Terraform Provider
- Demo: Rancher on IONOS Cloud-Repository
- SUSE Linux Enterprise Server (SLES)
- SUSE Rancher Prime-Clusters
- Empfehlungen von SUSE Rancher Prime
- RKE2
- Anforderungen von SUSE Rancher Prime auf RKE2
- SUSE Rancher Prime-Chart-Repository
- tf-rancher-up-Module
- GitHub-Repository: Rancher auf IONOS Cloud
- Rancher Manager
- IONOS Cloud Cluster API (CAPI)-Provider