Einführung
Ansible ist ein Infrastructure-as-Code-Tool, mit dem Sie einen einzigen Kontrollknoten verwenden können, um Remote-Server zu überwachen und zu verwalten.
Mit Ansible können Sie Remote-Server verwalten, indem Sie Playbooks erstellen, die Listen mit Aufgaben enthalten, die die Remote-Server ausführen sollen. Es bietet auch einen Prüfmodus, in dem Sie ein Playbook testen können.
Dieses Tutorial zeigt Ihnen, wie Sie einen Probelauf eines Ansible-Playbooks mithilfe der integrierten Prüfmodusfunktion durchführen.
Voraussetzungen
- Ein Linux-System (wir verwenden Ubuntu 20.04)
- Zugriff auf die Kommandozeile / das Terminalfenster
- Ansible installiert und konfiguriert (siehe unsere Anleitungen zum Installieren von Ansible unter Windows oder zum Installieren von Ansible unter Ubuntu)
Wann sollte Ansible Dry Run verwendet werden?
Verwenden des Trockenlaufs von Ansible Mit dieser Funktion können Benutzer ein Playbook ausführen, ohne Änderungen an den Servern vorzunehmen. Es verwendet den eingebauten Prüfmodus, um ein Playbook vor der Ausführung auf Fehler zu prüfen.
Diese Option ist sehr nützlich, wenn komplexe Playbooks ausgeführt werden, die Befehle enthalten, die größere Änderungen an Servern vornehmen. Mit dem Trockenlauf Funktion hilft, schwerwiegende Fehler zu finden, bevor sie Server herunterfahren und sie unbrauchbar machen.
Ansible Dry Run – Ausführen von Playbooks im Prüfmodus
Der einfachste Weg, einen Probelauf in Ansible durchzuführen, ist die Verwendung des check mode
. Dieser Modus funktioniert wie der --syntax-check
Befehl, aber auf Playbook-Ebene.
Prüfmodus
Verwenden Sie das -C
oder --check
Flag mit dem ansible-playbook
Befehl zum Testen eines Ansible-Playbooks:
ansible-playbook playbook.yaml --check
Dies erzeugt die gleiche Ausgabe wie das tatsächliche Ausführen des Playbooks, außer dass es über Änderungen berichtet, die es vorgenommen hätte, anstatt sie vorzunehmen.
Eine andere Möglichkeit, ein Playbook im Prüfmodus auszuführen, besteht darin, check_mode
hinzuzufügen Parameter zum Inhalt des Playbooks:
---
- hosts: all
tasks:
- name: A command to run in check mode
command: /your/command
check_mode: on
Diff-Option
Verwenden von --diff
Flag mit dem ansible-playbook
Der Befehl meldet, welche Änderungen während der Ausführung des Playbooks vorgenommen wurden:
ansible-playbook playbook.yaml --diff
Verwenden von --diff
-Flag erzeugt eine lange Ausgabe, daher wird es am besten verwendet, wenn auf einem einzelnen Host nach Änderungen gesucht wird.
Check und Diff kombinieren
Kombinieren Sie --check
und --diff
Flags mit dem ansible-playbook
Befehl gibt Ihnen einen detaillierteren Überblick über alle Änderungen, die von Ihrem Playbook vorgenommen wurden:
ansible-playbook playbook.yaml --check --diff
Dies erzeugt die gleiche detaillierte Ausgabe, die Sie erhalten, wenn Sie --diff
verwenden Flag, aber ohne tatsächlich eine der Änderungen auszuführen.
Wann sollte Ansible Dry Run nicht verwendet werden
Mit dem Trockenlauf Diese Funktion ist nützlich für die grundlegende Konfigurationsverwaltung Knoten für Knoten.
Wenn Ihr Playbook jedoch bedingte oder ergebnisbasierte Aufgaben enthält, funktioniert es nicht im Prüfmodus. Dies liegt daran, dass die Bedingungen für diese Aufgaben nicht erfüllt werden können, ohne das Playbook tatsächlich auszuführen und Änderungen vorzunehmen.