Automatisierung 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.

 

Eine moderne IT-Infrastruktur ist ein hochkomplexes Gebilde aus Rechen-, Speicher- und Netzwerkressourcen. Managed Platforms stellen eine lohnenswerte Alternative dar.

Unternehmen, die moderne Anwendungen nutzen wollen, haben einen großen Berg an Arbeit vor sich. Sie müssen nicht nur einen konkreten Fahrplan erstellen, welche Lösungen in Sachen Hard- und Software betrieben werden sollen, auch das dafür erforderliche Personal muss vorhanden sein. Zudem stellt sich die Frage nach den entstehenden Kosten für die IT-Infrastruktur. Um sie gering zu halten, setzen viele Unternehmen auf Open-Source-Software (OSS), doch trotz der enormen Vorteile in Sachen Flexibilität und Erweiterbarkeit hat selbst diese Sache einen Haken: Auch der Einsatz von OSS kann initial sehr auf-wendig sein und senkt nicht per se die Kosten.

Natürlich kostet Open-Source-Software in der Regel weder Anschaffungs- noch Lizenzgebühren. Allerdings beinhalten diese Technologien praktisch nie Modelle für Support, Deployment, Management und das kontinuierliche Monitoring der so zusammengestellten IT-Infrastruktur. Unternehmen brauchen also neues Personal, um diese Aufgaben zu stemmen, was wiederum mit hohen Kosten verbunden ist.

IT-Infrastruktur: IT-Dienstleister unterstützen beim Datenbank-Management

Um Kosten und Mitarbeiterressourcen einzusparen, setzen Firmen deswegen unter anderem vermehrt auf externe Unterstützung. IT-Dienstleister, in diesem Fall etwa IT-Consultants, übernehmen dabei spezielle Tätigkeiten für das Unternehmen, beispielsweise das Datenbank-Management und -Hosting. Der Nachteil solcher Dienstleister ist eine mögliche Abhängigkeit, da ihre speziell im Kontext des jeweiligen Unternehmens erworbene Expertise möglicherweise unverzichtbar wird.

Auch die Notwendigkeit, externen Beschäftigten Zugriff auf die internen Daten zu geben, ist für viele Unternehmen ein Problem. Das Einkaufen von reinen Support-Kapazitäten für spezielle Teile der IT-Infrastruktur, etwa die Datenbank, ist ebenfalls nicht zielführend: Bei ihnen fehlt logischerweise die Übersicht über die gesamte IT-Infrastruktur. Managed Platforms dagegen vereinen alle Vorteile aus den verschiedenen Modellen.

Managed Platforms: Das Beste aus beiden Welten

Der womöglich wichtigste Grund für die Beauftragung eines externen Dienstleisters ist natürlich ein geringerer personeller Aufwand für die Unternehmen selbst. Eine Managed Platform ist im Grunde eine Sammlung von Managed Services, die Unternehmen selbst über ein entsprechendes User Interface (UI) steuern können. Anders als bei „herkömmlichen“ Managed-Services-Providern bietet eine Managed Platform also nicht nur einen bestimmten Service, den der Anbieter vollständig verwaltet, sondern eine Vielzahl ineinandergreifender Technologien. So können Organisationen ihre Mitarbeiterinnen und Mitarbeiter noch stärker entlasten, da sie bei Bedarf gleich mehrere Services extern einkaufen. Die frei gesetzten Ressourcen können stattdessen für produktivere und innovativere Aufgaben genutzt werden.

Natürlich übernehmen auch Anbieter von Managed Platforms für ihre Nutzer bis zu einem gewissen Grad die Bereitstellung und das Management bestimmter Technologien. Sie erledigen diese Aufgaben allerdings minimalinvasiv, das heißt ohne Zugriff auf die internen Daten. Für viele potenzielle Nutzer von Managed Platforms ist dieser Aspekt sehr wichtig, denn gerade Finanzdienstleister oder Unternehmen im Gesundheitswesen unterliegen beispielsweise strengen Regularien, wenn es um den Schutz der Kundendaten geht.

Unternehmen behalten Kontrolle über den Data Layer

Neben der Hoheit über die internen Daten liegt bei Managed Platforms auch die Kontrolle über den Data Layer zu jeder Zeit beim Unternehmen und nicht beim Anbieter der Dienstleistung. Das User Interface der Managed Platform stellt dabei quasi die Verwaltungsebene dar, über die die Nutzer ihre IT-Infrastruktur verwalten können. Auf Wunsch können Unternehmen so je nach Bedarf neue Services oder weitere Kapazitäten zu ihrem bisherigen Portfolio hinzubuchen oder abbestellen. Dieses Verfahren ist deutlich günstiger und weniger aufwendig, als die entsprechende Hard- und Software dafür intern bereitzustellen beziehungsweise in Betrieb zu nehmen. Gerade die hohe Skalierbarkeit ist ein wichtiger Punkt, warum Organisationen auf Managed Platforms zurückgreifen.

IT-Infrastruktur: Automatisierung und Zuverlässigkeit im Fokus

Der hohe Automatisierungsgrad, der Managed Platforms auf allen Ebenen auszeichnet, ist nur durch den Einsatz standardisierter Prozesse und Technologien möglich. Gerade Open-Source-Software eignet sich sehr gut dafür. Je höher der Grad an Automatisierung, desto höher ist in der Regel auch die Zuverlässigkeit. Inhouse betriebene IT-Infrastrukturen sind nicht nur sehr kostenintensiv und mit einem hohen personellen Auf-wand verbunden, sie sind in den meisten Fällen auch deutlich unzuverlässiger als ausgelagerte Varianten.

Managed Platforms bieten Flexibilität auf allen Ebenen

Managed Platforms sind über die bisher erwähnten Vorteile hinaus extrem flexibel. Unternehmen können ihre IT-Infrastruktur etwa voll-ständig in der Cloud oder sogar in hybriden oder Multi-Cloud-Umgebungen betreiben. Wem das zu unsicher ist, hat natürlich auch die Möglichkeit, die Managed Platform On-premises zu nutzen. Eine hohe Flexibilität bietet dabei vor allem der Einsatz von Open-Source-Software. Durch die offenen Entwicklungsprozesse ist der Managed-Platform-Anbieter in der Lage, Updates für die IT-Infrastruktur einzuspielen und Bugs zu fixen, ohne dass diese Vorgänge die Nutzer und deren Geschäftsbetrieb negativ beeinflussen – etwa durch einen Service-Ausfall.

Zudem können IT-Lösungen, die auf Open-Source-Technologien basieren, in praktisch jedes bestehende System integriert werden. Und das ohne mühselige architektonische Änderungen vollziehen zu müssen. Managed Platforms, die auf Open-Source-Software setzen, sind für KMU, aber auch für große Firmen definitiv eine Überlegung wert. Denn die Kombination aus Einsparung von Anschaffungskosten für Software, den freigeschaufelten Mitarbeiterressourcen und aus Skalierbarkeit, Erweiterbarkeit und Zuverlässigkeit sind schlagkräftige Argumente für Managed Platforms.

Lesen Sie auch den Original-Artikel auf: digitalbusiness-cloud.de