Ansibel wird aufgrund seiner Benutzerfreundlichkeit und Flexibilität zunehmend zur Plattform der Wahl für die Anwendungsbereitstellung und Softwarebereitstellung unter Entwicklern. Darüber hinaus ist es einfach einzurichten und es muss kein Agent auf Remote-Knoten installiert werden, stattdessen verwendet Ansible eine passwortlose SSH-Authentifizierung, um Remote-Unix/Linux-Hosts zu verwalten. In diesem Thema werden wir jedoch sehen, wie Sie Windows Host mit Ansible verwalten können.
Lab-Setup
Wir werden das folgende Setup verwenden, um unser Ziel zu erreichen
- Ansible Control Node – CentOS 8 – IP:192.168.43.13
- Windows 10-Knoten – Windows 10 – IP:192.168.43.147
Teil 1:Installieren von Ansible auf dem Control-Knoten (CentOS 8)
Vor allem anderen müssen wir Ansible auf dem Control-Knoten installieren, der das CentOS 8-System ist.
Schritt 1:Stellen Sie sicher, dass Python3 auf dem Ansible-Steuerknoten installiert ist
Zuerst müssen wir bestätigen, ob Python3 installiert ist. CentOS 8 wird mit Python3 geliefert, aber wenn es aus irgendeinem Grund fehlt, installieren Sie es mit dem folgenden Befehl:
# sudo dnf install python3
Machen Sie als Nächstes Python3 zur standardmäßigen Python-Version, indem Sie Folgendes ausführen:
# sudo alternatives --set python /usr/bin/python3
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob python3 installiert ist:
# python --version
Lesen Sie auch: So installieren Sie Ansible (Automatisierungstool) unter CentOS 8/RHEL 8
Schritt 2:Installieren Sie eine virtuelle Umgebung zum Ausführen von Ansible
Für diese Übung wird eine isolierte Umgebung zum Ausführen und Testen von Ansible bevorzugt. Dadurch werden Probleme wie Abhängigkeitsprobleme und Paketkonflikte in Schach gehalten. Die isolierte Umgebung, die wir erstellen werden, wird als virtuelle Umgebung bezeichnet.
Beginnen wir zunächst mit der Installation der virtuellen Umgebung auf CentOS 8.
# sudo dnf install python3-virtualenv
Erstellen Sie nach der Installation der virtuellen Umgebung einen virtuellen Arbeitsbereich, indem Sie Folgendes ausführen:
# virtualenv env
# source env/bin/activate
Toll! Beachten Sie, dass sich die Eingabeaufforderung jetzt in (env).
geändert hatSchritt 3:Ansible installieren
Fahren Sie nach der Erstellung der virtuellen Umgebung fort und installieren Sie das Ansible-Automatisierungstool mit pip wie gezeigt:
# pip install ansible
Sie können die Installation von Ansible später mit dem Befehl bestätigen:
# ansible --version
Um Ansible zu testen und zu sehen, ob es auf unserem Ansible Control-Server funktioniert, führen Sie Folgendes aus:
# ansible localhost -m ping
Toll! Als Nächstes müssen wir den Windows-Host oder das Windows-System in einer Hostdatei auf dem Ansible-Steuerknoten definieren. Öffnen Sie daher die Standard-Hosts-Datei
# vim /etc/ansible/hosts
Definieren Sie die Windows-Hosts wie unten gezeigt.
Hinweis: Der Benutzername und das Passwort verweisen auf den Benutzer auf dem Windows-Hostsystem.
Als nächstes speichern und beenden Sie die Konfigurationsdatei.
Schritt 4:Pywinrm installieren
Anders als in Unix-Systemen, wo Ansible SSH verwendet, um mit entfernten Hosts zu kommunizieren, ist das bei Windows eine ganz andere Geschichte. Um mit Windows-Hosts zu kommunizieren, müssen Sie Winrm installieren.
Um winrm erneut zu installieren, verwenden Sie das Pip-Tool wie gezeigt:
# pip install pywinrm
Teil 2:Windows-Host konfigurieren
In diesem Abschnitt konfigurieren wir unser Windows 10-Remote-Hostsystem für die Verbindung mit dem Ansible Control-Knoten. Wir werden den WinRM Listener- installieren kurz für Windows Remote – was die Verbindung zwischen dem Windows-Hostsystem und dem Ansible-Server ermöglicht.
Aber bevor wir dies tun, muss Ihr Windows-Hostsystem einige Voraussetzungen erfüllen, damit die Installation erfolgreich ist:
- Ihr Windows-Hostsystem sollte Windows 7 oder höher sein . Stellen Sie für Server sicher, dass Sie Windows Server 2008 verwenden und spätere Versionen.
- Stellen Sie sicher, dass auf Ihrem System .NET Framework 4.0 ausgeführt wird und später.
- Windows-PowerShell sollte Version 3.0 und höher sein
Wenn alle Anforderungen erfüllt sind, führen Sie nun die folgenden Schritte aus:
Schritt 1:Laden Sie das WinRM-Skript auf den Windows 10-Host herunter
WinRM kann mit einem Skript installiert werden, das Sie von diesem Link herunterladen können. Kopieren Sie das gesamte Skript und fügen Sie es in den Notepad-Editor ein. Stellen Sie danach sicher, dass Sie das WinRM-Skript am bequemsten Ort speichern. In unserem Fall haben wir die Datei unter dem Namen ConfigureRemotingForAnsible.ps1
auf dem Desktop gespeichertSchritt 2:Führen Sie das WinRM-Skript auf einem Windows 10-Host aus
Führen Sie als Nächstes PowerShell als Administrator aus
Navigieren Sie zum Speicherort des Skripts und führen Sie es aus. In diesem Fall haben wir zum Desktop-Speicherort navigiert, an dem wir das Skript gespeichert haben. Fahren Sie als Nächstes fort und führen Sie das WinRM-Skript auf dem Windows-Host aus:
.\ConfigureRemotingForAnsible.ps1
Dies dauert etwa eine Minute und Sie sollten die unten gezeigte Ausgabe erhalten. Die Ausgabe zeigt, dass WinRM erfolgreich installiert wurde.
Teil 3:Herstellen einer Verbindung zum Windows-Host von Ansible Control Node
Führen Sie den folgenden Befehl aus, um die Verbindung zum Windows 10-Host zu testen:
# ansible winhost -m win_ping
Die Ausgabe zeigt, dass wir tatsächlich eine Verbindung zum entfernten Windows 10-Host vom Ansible Control-Knoten hergestellt haben. Dies bedeutet, dass wir den Remote-Windows-Host jetzt mit Ansible Playbooks verwalten können. Lassen Sie uns ein Beispielplaybook für das Windows-Hostsystem erstellen.
Teil 4:Erstellen und Ausführen eines Playbooks für Windows 10-Hosts
In diesem letzten Abschnitt erstellen wir ein Playbook und erstellen eine Aufgabe, die Chocolatey auf dem Remote-Host installiert. Chocolatey ist ein Paketmanager für Windows-Systeme. Das Spiel ist wie gezeigt definiert:
# vim chocolatey.yml --- - hosts: winhost gather_facts: no tasks: - name: Install Chocolatey on Windows10 win_chocolatey: name=procexp state=present
Speichern und schließen Sie die yml-Datei. Führen Sie als Nächstes das Playbook wie gezeigt aus
# ansible-playbook chocolatey.yml
Die Ausgabe ist ein Hinweis darauf, dass alles gut gelaufen ist. Und damit ist dieses Thema zur Verwaltung von Windows-Hosts mit Ansible abgeschlossen.
Auch lesen : So erstellen Sie Ansible-Rollen und verwenden sie im Playbook