Getty Images/iStockphoto

Automatisierung des IT-Betriebs mit VMware und Ansible

In Verbindung mit VMware kann Ansible zur Automatisierung von IT-Aufgaben beitragen. Erfahren Sie, wie Sie Ansible installieren und wie Sie eine VM über vCenter einrichten.

Die Automatisierung von Aufgaben in Ihrer VMware-vSphere-Umgebung kann die Produktivität steigern. Mit nur wenigen Befehlen kann Ansible mit vSphere kombiniert werden, um Teams bei der Automatisierung von IT-Aufgaben zu unterstützen.

In der Vergangenheit haben Administratoren ausschließlich mit Skriptsprachen wie PowerShell gearbeitet, um Umgebungen zu verwalten. Das ist zwar immer noch eine praktikable Methode, aber Sie müssen alle Schritte zur Erstellung oder Verwaltung von Komponenten in der richtigen Reihenfolge in einem Skript festlegen. Mit Ansible definieren Sie die benötigten Schritte in einer strukturierten Datei, die dann von einer Engine verarbeitet wird. Das macht den Code wiederverwendbar und Ansible zu einer vielseitigen Option für die Automatisierung das Erstellen und Verwalten von Aufgaben in einer VMware-vSphere-Umgebung.

Die Benutzerfreundlichkeit von Ansible

Es gibt verschiedene Möglichkeiten, Ansible für die Automatisierung zu nutzen. Ansible verfügt über eine Open-Source-Option, die für die Beispiele in diesem Artikel verwendet wird. Außerdem gibt es die Ansible Automation Platform von Red Hat. Dieses Produkt ist käuflich erwerblich und bietet Skalierbarkeit für Unternehmen, Support und eine Komponente für die zentralisierte Verwaltung, um die Abhängigkeit der Administratoren von der Befehlszeile zu verringern.

Die Beispiele in diesem Artikel konzentrieren sich auf die Verwendung von Ansible in einer VMware-Umgebung, aber die Software kann auch bei der Verwaltung vieler anderer Umgebungen helfen. Das macht es optimal, wenn Sie nicht nur Ihre Virtualisierungsinfrastruktur, sondern auch Gastbetriebssysteme und Anwendungen verwalten möchten. Ansible funktioniert in einer Microsoft-Azure- oder AWS-Umgebung sowie mit Docker-Containern und Netzwerkkomponenten.

So installieren Sie Ansible

Um die Ansible-Software auszuführen, benötigen Sie einen Kontrollrechner, auf dem Python 2 oder Python 3 ausgeführt werden kann. Für die Beispiele in diesem Artikel wird ein Ubuntu-Linux-Rechner verwendet. Während die Befehle für andere Distributionen unterschiedlich sein können, ist das allgemeine Konzept das gleiche.

Installieren Sie zunächst die Ansible-Software auf dem Kontrollrechner. In Ubuntu verwenden Sie diese Befehle.

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:ansible/ansible
sudo apt update
sudo apt install ansible

Anleitungen für andere Systeme finden Sie in der Ansible-Installationsanleitung. Beachten Sie, dass Ansible nicht auf Windows als Kontrollmaschine laufen kann.

Während Python in der Regel standardmäßig installiert ist, ist das Paket-Installationsprogramm für Python oft noch nicht vorhanden. Sie benötigen diese Komponente namens pip, um die erforderlichen VMware-Module zu installieren.

Um pip zu installieren, benötigen Sie das Python-Paket für virtuelle Umgebungen. Installieren Sie beides mit den folgenden Befehlen.

sudo apt update
sudo apt install python3-venv python3-pip
python -m pip install --upgrade pip

In Abbildung 1 installieren wir nur das Paket python3-pip, da das Paket python-venv bereits installiert war.

Installation des Pakets python3-pip
Abbildung 1: Installieren Sie das Paket python3-pip.

Als Nächstes installieren Sie das Python SDK für die VMware-vSphere-API. Das ermöglicht die Kommunikation mit ESXi und vCenter. Der Name des Pakets ist pyVmomi. Der Code ist auf GitHub verfügbar und das Installationsverfahren finden Sie auf der Dokumentationsseite von VMware für Ansible.

Installieren Sie dieses Modul mit pip, indem Sie pip install pyvmomi verwenden.

Installation des Python-SDKs
Abbildung 2: Installieren Sie das Python-SDK für die VMware-vSphere-API.

Automatisierung einer VM mit Ansible

Nachdem alle Anforderungen installiert sind, können Sie nun mit der Ansible-Software arbeiten. Erstellen Sie zunächst ein Playbook im YAML-Dateiformat, um zu definieren, was Sie erreichen wollen und welche Aufgaben Sie ausführen möchten.

In Abbildung 3 besteht die Beispielaufgabe darin, eine virtuelle Maschine aus einer Vorlage zu klonen.

Erstellung eines Playbooks
Abbildung 3: Erstellen Sie ein Playbook, um Ihre Ziele zu definieren.

Der allgemeine Befehl zur Verarbeitung eines Playbooks lautet ansible-playbook <Name der YAML-Datei>.

Wie in Abbildung 3 gezeigt, verwenden Sie das Produkt einer Variable, um den Code flexibler zu gestalten.

ansible-playbook createvm.yaml --extra-vars "vm_name=techtarget-vm-2"

Verwenden Sie die Variable vm_name in der YAML-Datei und ersetzen Sie sie zur Laufzeit durch Ihren String. Auf diese Weise können Sie dieselbe YAML-Datei verwenden, um wiederholt virtuelle Maschinen zu erstellen, indem Sie einfach den VM-Namen angeben, ohne Dateien ändern zu müssen.

Abbildung 4 des vSphere-Clients zeigt die virtuelle Maschine und die Vorlage, auf der sie basiert.

fertig eingerichtete VM in Ansible
Abbildung 4: Die virtuelle Maschine ist nun in Ansible eingerichtet und läuft.

Durch die Verwendung von Variablen lässt sich der Code besser wiederverwenden. Sie legen die Serveradresse und die Benutzeranmeldeinformationen in einer separaten Datei namens vars.yaml ab. Das Resultat im vSphere-Client sehen Sie dann Abbildung 4. Verwenden Sie dann im Playbook die Voraufgabe include_vars, um die Werte für die zu verarbeitenden Parameter zu erhalten.

Stellen Sie den Variablennamen das Präfix vc_ voran, um sie als die Variablen für die vCenter-Umgebung zu identifizieren. Setzen Sie die Variablennamen in der zu verarbeitenden YAML-Datei in Anführungszeichen und geschweifte Klammern, beispielsweise „{{ vc_hostname}}“.

Passworteingabe
Abbildung 5: Geben Sie das Passwort in die Datei ein.

Während in Abbildung 5 das Passwort in der Datei gespeichert wird, enthält Ansible eine Funktion namens vault, um Passwörter sicherer zu speichern.

Erfahren Sie mehr über Data-Center-Betrieb