megaflopp - stock.adobe.com
So kontrollieren Sie Ihre VMware-Blaupausen mit GitHub-vRA
GitHub-Repositorien lassen sich in VMware vRA-Cloud-Assembly integrieren. Wir erklären, wie Sie das nutzen, um eine Versionskontrolle für vRA-Bereitstellungen zu implementieren.
IT-Administratoren nutzen häufig mehrere Bereitstellungen von vRealize Automation in einem einzigen System. Sie können die Integration von GitHub in vRealize Automation verwenden, um ein zentrales Repository ihrer Blaupausen zu führen, Blaupausen-Backups zu verwalten und jede vRealize Automation-Bereitstellung zu verfolgen.
Mit VMware vRealize Automation (vRA) stellen Admins virtuelle Maschinen (VMs) und Anwendungen aus einem Self-Service-Katalog bereitstellen. Das Herzstück von vRealize Automation ist Cloud Assembly. Mit diesem Tool können Sie Blaupausen – auf Englisch Blueprints – erstellen, die definieren, wie das System VMs bereitstellen soll.
Wenn Sie mit Blaupausen arbeiten, bekommen Sie möglicherweise Schwierigkeiten damit, eine Versionskontrolle aufrechtzuerhalten, da das System mit vRA nur über eine lokale Kopie einer Blaupause verfügt. In diesem Fall können Sie auf die erprobte Versionskontrolle von GitHub zurückgreifen, die sich sogar in vRA integrieren lässt.
Versionierung von vRA-Blaupausen mit GitHub
VMware definiert vRA-Blaupausen in YAML-formatiertem Code, den Sie in Cloud Assembly problemlos bearbeiten können. Im Folgenden finden Sie ein Beispiel für eine Blaupause, die mehrere VMs und Netzwerke bereitstellt, sowie die Art und Weise festlegt, wie sie zur Bereitstellungszeit miteinander verbunden werden.
In vRA steht ein Versionsverwaltungssystem für Blaupausen sowie ABX-Skripte und Orchestrator-Workflows zur Verfügung. Mit einer einzelnen Instanz von vRA können Administratoren jedoch nur eine Instanz einer Blaupause verwalten. Sie können beispielsweise keinen vRA-Entwurf für eine Produktionsumgebung in einer Test- oder Entwicklungsumgebung verwenden. Versionskontrollsysteme wie GitHub, GitLab und Atlassian Bitbucket erleichtern Administratoren das Speichern und Freigeben von webbasierten Blaupausen und das Verfolgen ihres Codes.
Diese Systeme fungieren als Dateispeicher, also Remote-Standorte, an denen Administratoren Sicherungs- und Konfigurationsdateien speichern. Sie erstellen Code in einer Datei, speichern ihn im Versionskontrollsystem und verwalten dann bestimmte Versionen dieses Codes sowie alle daran vorgenommenen Änderungen.
Webbasierte Dateispeicher wie GitHub ermöglichen Administratoren, Code zu ändern und ihn für ihr Team oder andere freizugeben. Sie können Änderungen im System für den späteren Zugriff dokumentieren. Es gibt jedoch einige Dinge, die Sie bei der Auswahl eines Versionsverwaltungssystems berücksichtigen sollten.
Beispielsweise unterstützt vRA 8.2 GitHub Enterprise nicht. obwohl vRA die GitHub Free Edition unterstützt, wobei GitHub Free nicht On-Premises läuft.
GitLab ist eine Alternative zu GitHub, die besonders attraktiv für Administratoren ist, die ihre Daten nicht außerhalb ihres eigenen Rechenzentrums speichern möchten oder dürfen. Sie können eine lokale Instanz von GitLab Free verwenden, die ebenfalls mit vRA kompatibel ist.
So integrieren Sie GitHub in vRealize Automation
Git ist eine Open-Source-Technologie, mit der Sie Code speichern und freigeben können. Es ist die Basis von GitHub und vieler ähnlicher Produkte von Wettbewerbern. Als erstes müssen Sie, so noch nicht vorhanden, ein Konto bei einem webbasierten oder lokalen Git-Dienst einrichten. Jeder Dienst verfügt über ein eigenes Einrichtungsverfahren. Bei Fragen sehen Sie also am besten in der Dokumentation Ihres Dienstes nach.
Unabhängig davon, welchen Git-basierten Dienst Sie verwenden, müssen Sie nun ein Repository einrichten. Sie können eine Verzeichnisstruktur im Repository erstellen, in der sie Blueprint-, ABX-Skript- und Orchestrator-Objektdateien ablegen. Blaupausen müssen einen festen Namen haben, zum Beispiel blueprint.yaml, damit Sie diese in ihrem eigenen Verzeichnis ablegen können.
Nun können Sie eine Git-Repository-Integration mit vRA einrichten. Navigieren Sie in Cloud Assembly zur Registerkarte Infrastructure, um Integrationsoptionen zu finden.
Die Option GitHub Free wird automatisch mit der GitHub-API in der Server-URL verknüpft. Sie können auch Ihren persönlichen Token hinzufügen, der GitHub identifiziert, und auf diesem Weg GitHub anbinden.
Der nächste Schritt ist das Hinzufügen von Projekten zur GitHub-vRA-Integration. Sie fügen für jedes konfigurierte Projekt einen Link hinzu, der zum Repository für die Blaupause oder das ABS-Skript führt. Das Repository verweist auf den Hauptzweig in GitHub, wobei es Unterzweige gibt, in denen Administratoren ihren Blueprint-Code ablegen können.
Sobald Sie ein Projekt hinzufügen, ruft vRA alle im Repository befindlichen Blaupausen ab und stellt sie dem Projekt zur Verfügung. Sie können Blaupausen von GitHub auf der Registerkarte Design in Cloud Assembly suchen, oder ABX-Skripte aus einem zentralen Repository abrufen.
Um Versionen von vRealize-Orchestrator-Workflows mit einem Git-Repository zu verwalten, müssen Sie von vRealize Orchestrator selbst einen Link zu ihrem Repository erstellen. Das Verfahren ist ähnlich wie bei vRA, jedoch mit zwei Unterschieden:
- GitHub steuert Blueprint-Versionen für das gesamte vRealize Orchestrator-System – nicht pro Projekt; und
- GitHub vRealize Orchestrator-Integrationen unterstützen bidirektionalen Datenverkehr, während GitHub vRA-Integrationen nur einseitige Interaktionen sind.
Wenn Sie ein Repository synchronisieren, werden Änderungen an Blaupausen in vRA nicht auf das Git-System übertragen. Das ist aber mitunter von Vorteil, wenn Sie Blueprint-Versionen zentral verwalten wollen.
vRealize Orchestrator-Repositories hingegen unterstützten die Synchronisierung in beide Richtung, so dass Sie Änderungen an Blaupausen im Git-System speichern können.