GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwalten Sie Remote-Windows-Hosts mit Ansible

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 hat

Schritt 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 gespeichert

Schritt 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


Linux
  1. So verwalten Sie statisches und dynamisches Host-Inventar von Ansible

  2. Ansible Guide:Verwalten Sie Dateien mit Ansible

  3. So überwachen Sie entfernte Windows-Rechner mit Nagios unter Linux

  4. So verbinden Sie einen Remote-Host mit dem ssh-Befehl

  5. Woher weiß ich, ob ein Remote-Computer Windows oder Linux verwendet?

So verwalten Sie AWS EC2-Instanzen mit aws-cli

So verwalten Sie AWS Cloudwatch mit aws-cli

So verwalten Sie Python-Pakete mit PIP

So verwenden Sie Ansible zum Senden einer E-Mail mit Google Mail

So installieren Sie Ansible unter Ubuntu 20.04

So sichern Sie einen Remote-Linux-Host mit dem Dienstprogramm rsnapshot rsync