proxmox Archives - credativ®

Effiziente Proxmox Cluster Erstellung durch Automatisierung mit Ansible

Die manuelle Einrichtung und Verwaltung von Servern ist in der Regel zeitaufwendig, fehleranfällig und schwer skalierbar. Gerade bei umfangreicheren Rollouts, beim Aufbau komplexer Infrastrukturen oder auch der Migration von einer anderen Virtualisierungsumgebung stoßen klassische, manuelle Prozesse schnell an ihre Grenzen. Eine konsequente Automatisierung bietet hier eine effektive und nachhaltige Lösung.

Proxmox stellt eine leistungsstarke Plattform zur Virtualisierung dar, die sich besonders durch ihre Flexibilität und die breite Funktionsvielfalt auszeichnet. In Kombination mit Ansible, einem agentenlosen Automatisierungswerkzeug, lässt sich die Verwaltung ganzer Systemlandschaften erheblich vereinfachen. Mit Ansible können definierte Konfigurationen in Form von Playbooks erstellt und wiederverwendet werden. Dadurch wird sichergestellt, dass Abläufe konsistent, nachvollziehbar und reproduzierbar sind.

Um die automatisierte Bereitstellung kompletter Proxmox-Cluster zu ermöglichen, hat unser Mitarbeiter, der auch unter dem Pseudonym gyptazy in der Open-Source Szene bekannt ist, ein eigenes Ansible-Modul namens proxmox_cluster entwickelt. Es übernimmt dabei alle notwendigen Schritte um einen Proxmox Cluster zu erstellen und mit weiteren Nodes beizutreten. Dieses Modul ist nun auch in dem offiziellen Ansible Upstream Community Proxmox Repository enthalten und lässt sich ab Version 1.1.0 über Ansible Galaxy installieren. Auf diese Weise reduziert sich der manuelle Aufwand deutlich. Mehr zu den Hintergründen können in seinem Blog-Post „How My BoxyBSD Project Boosted the Proxmox Ecosytem“ gefunden werden.

Durch den Einsatz dieser Lösung wird nicht nur Zeit gespart, sondern auch eine Grundlage für skalierbare und wartungsarme Strukturen geschaffen. Durch die Erstellung eines eigenen Moduls anstelle von fehleranfälligen Tasks in Ansible, die meist auf das “Shell” oder “Command” Modul auswichen, wird über das Modul proxmox_cluster vollständig die Proxmox API benutzt. Damit lässt es sich auch in verschiedenen Scopes ausführen und benötigt keinen SSH Zugriff.

Dieser Automatisierungslösung ermöglicht es, komplexe Setups effizient bereitzustellen und schafft so die Voraussetzung für stabile, zukunftssichere IT-Umgebungen, die sich auch später problemlos erweitern lassen und nach einem einheitlichen Muster aufgesetzt werden.

Vorteile

Durch die Nutzung des Moduls proxmox_cluster zur Proxmox Cluster Erstellung ergeben sich weitere zentrale Vorteile in einer IT-Landschaft. Der Fokus liegt dabei auf einer sicheren, flexiblen und skalierbaren Nutzung der Proxmox API, sowie der verbesserten Fehlerbehandlung und der vereinfachten Integration für unterschiedliche Einsatzzwecke:

Ansible Proxmox Modul: proxmox_cluster

Das neu hinzugefügte proxmox_cluster Modul in Ansible vereinfacht die automatisierte Bereitstellung von Proxmox VE Clustern erheblich. Mit nur einem einzigen Task lässt sich ein vollständiger Cluster nahtlos erstellen, wodurch der manuelle Aufwand und die Komplexität deutlich reduziert werden.

Einen Cluster erstellen

Um einen Cluster nun zu initialisieren bzw. zu erstellen benötigt es bei der Nutzung des Moduls folglich nur noch einen Task in Ansible:

- name: Create a Proxmox VE Cluster
  community.proxmox.proxmox_cluster:
    state: present
    api_host: proxmoxhost
    api_user: root@pam
    api_password: password123
    api_ssl_verify: false
    link0: 10.10.1.1
    link1: 10.10.2.1
    cluster_name: "devcluster"

Nachfolgend wird der Proxmox VE Cluster erstellt und kann von anderen Nodes zum Beitreten genutzt werden.

Einem Cluster beitreten

Weitere Nodes können nun ebenfalls dem Cluster mit einem einzelnen Task beitreten. Zusammen mit der Nutzung eines dynamic Inventories lässt sich dabei sehr gut über eine Liste von Nodes aus einer Gruppe iterieren und im Rahmen eines Loops (Schleife) dem Cluster beitreten. Somit lassen sich auch schnell größere Proxmox Cluster erzeugen.

- name: Join a Proxmox VE Cluster
  community.proxmox.proxmox_cluster:
    state: present
    api_host: proxmoxhost
    api_user: root@pam
    api_password: password123
    master_ip: "{{ primary_node }}"
    fingerprint: "{{ cluster_fingerprint }}"
    cluster_name: “devcluster"

Cluster Join Informationen

Für den Beitritt eines Proxmox Clusters benötigt man grundsätzlich die „Join Informationen“ des Clusters. Damit diese nicht manuell für jeden Cluster definiert werden müssen, lässt sich dies ebenfalls automatisieren. Im Rahmen des Features wurde auch das neue Modul cluster_join_info mitgeliefert. Dies ermöglicht es automatisiert die notwendigen Informationen über die API abzurufen und entsprechend für die weitere Verwendung bereitzustellen.

- name: List existing Proxmox VE cluster join information
  community.proxmox.proxmox_cluster_join_info:
    api_host: proxmox1
    api_user: root@pam
    api_password: "{{ password | default(omit) }}"
    api_token_id: "{{ token_id | default(omit) }}"
    api_token_secret: "{{ token_secret | default(omit) }}"
  register: proxmox_cluster_join

Fazit

Während über Automatisierung im Rahmen von Virtualisierungstechniken meist über das automatisierte Provisionieren von Gästen bzw. Virtuellen Maschinen (VMs) gesprochen wird zeigt dieser Ansatz, dass man auch mit der Automatisierung bereits viel tiefer in der drunterliegenden Infrastruktur ansetzen kann. Auch sind hierbei vollständige Automatisierungen möglich bei der die Nodes bereits mit einem kundenspezifischen Image mit Proxmox VE bereitgestellt werden und dann nachfolgend automatisiert den Cluster erstellen. Gerne unterstützen wir Sie als offizieller Proxmox Partner bei der Realisierung einer vollumfassenden Automatisierung rund um Proxmox Produkte.

 

ProxLB – Die neue Version des Loadbalancers für Proxmox Cluster steht in Version 1.1.0 bereit!

Kein April Scherz – endlich ist sie da – die langersehnte Version 1.1.0 von ProxLB wurde heute offiziell veröffentlicht! Diese neue Version bringt ein vollständiges Code-Refactoring mit sich, das nicht nur die Wartung erleichtert, sondern auch die Grundlage für zukünftige Erweiterungen schafft. Außerdem werden zahlreiche Bugs behoben und weitere Features implementiert. ProxLB ist das Ergebnis des Engagements unseres Mitarbeiters Florian Paul Azim Hoberg, besser bekannt als gyptazy, der mit seinem Wissen und seiner Leidenschaft eine leistungsfähige Open-Source-Lösung für Proxmox-Cluster entwickelt hat. Wir als credativ GmbH unterstützen dabei die Tätigkeiten in diesem open-source Projekt und freuen uns, wenn dies auch künftig noch mehr von der Community aufgenommen und genutzt wird. Künftig wird ProxLB dabei auch weitere interessante Features wie ein dynamisches Energiemanagement (ähnlich zu DPM) und ein automatisiertes Node-Security-Patching integriert bekommen, die in der Community bereits oft angefragt wurden.

Lücke zu VMware schließen

ProxLB - An Advanced Loadbalancer for Proxmox Clusters

ProxLB schließt die Lücke, die durch das Fehlen eines Dynamic Resource Scheduler (DRS) in Proxmox entstanden ist. Als leistungsstarker Load Balancer werden dabei Workloads bzw. virtuelle Maschinen (VMs) intelligent über alle Nodes im Cluster migriert, welches für eine insgesamt optimale Nutzung der Ressourcen in einem Proxmox Cluster sorgt. Dabei berücksichtigt ProxLB die CPU-, Speicher- und Festplattenauslastung, um Überprovisionierung zu vermeiden und die Leistung zu maximieren.

Wartungsmodus

Ein besonderes Highlight von ProxLB ist der Wartungsmodus. Sobald ein oder mehrere Node(s) in den Wartungsmodus versetzt werden, werden alle darauf laufenden VMs und Container automatisch auf andere Nodes verschoben – natürlich unter Berücksichtigung der bestmöglichen Ressource-Auslastung im Cluster. Dies ermöglicht problemlose Updates, Neustarts oder Hardware-Wartungen, ohne den laufenden Betrieb zu stören.

Affinitätsregeln im Griff

Darüber hinaus bietet ProxLB umfangreiche Möglichkeiten zur Anpassung durch Affinitäts- und Anti-Affinitätsregeln. Administratoren können festlegen, dass bestimmte VMs entweder gemeinsam auf einem Node laufen oder bewusst voneinander getrennt werden. Dies ist besonders nützlich für hochverfügbare Anwendungen oder spezielle Workloads. Ein weiteres praktisches Feature ist die Möglichkeit, den optimalen Node für neue Gäste zu identifizieren. Diese Funktion lässt sich problemlos in CI/CD-Pipelines integrieren, beispielsweise mit Ansible oder Terraform, um Deployments zu automatisieren und die Cluster-Effizienz weiter zu steigern. Wie dies anhand von ProxLB mit Terraform funktioniert, kann man in diesem Beispiel sehen.

ProxLB zeichnet sich zudem durch seine tiefe Integration in die Proxmox-API aus. Die gesamte Access Control List (ACL) wird unterstützt, sodass keine zusätzlichen SSH-Zugriffe erforderlich sind. Dies sorgt nicht nur für mehr Sicherheit, sondern auch für eine einfachere Verwaltung. Egal ob als Einmal-Operation oder im Daemon-Modus: ProxLB ist flexibel einsetzbar und bietet eine transparente und effiziente Lösung für das Cluster-Management. Dank der offenen und freien Lizenz können Nutzer die Software an ihre Bedürfnisse anpassen und zur Weiterentwicklung beitragen.

Download

ProxLB lässt sich auf verschiedensten Weisen installieren und betreiben. So kann ProxLB auf dedizierter Hardware, einer dedizierten VM (auch innerhalb des Clusters), in LXC, auf einem Proxmox Node selber oder gar in einem Docker Container durch die bereitgestellten Container-Images betrieben werden. Das Installations-Kapitel im Projekt selbst erklärt dies dabei etwas detaillierter und beschreibt auch die Nutzung des Projekt eigenen Repositorys für Debian basierende Systeme.

Typ       Download
Debian Package       proxlb_1.1.0_all.deb
Container Image       cr.gyptazy.com/proxlb/proxlb:latest

 

Fazit

Mit der Version 1.1.0 wird ProxLB seinem Ruf als unverzichtbares Tool für Proxmox-Administratoren, gerade für Wechsler aus dem VMware Bereich, mehr als gerecht. Probieren Sie die neue Version aus und erleben Sie, wie einfach und effizient das Load Balancing in Ihrem Cluster sein kann! Gerne unterstützen wir Sie auch bei der Integration und dem Betrieb von ProxLB in Ihrem Cluster, als auch bei allen anderen Themen Rund um Proxmox – auch bei der Planung einer Migration von anderen Hypervisor-Technologien zu Proxmox!

Einen Merkzettel zum Teilen können Sie hier herunterladen: ProxLB Flyer