Remote -Code -Ausführung mithilfe von Ansible -Befehlsmodul

Remote -Code -Ausführung mithilfe von Ansible -Befehlsmodul
Für diejenigen unter Ihnen, die im Bereich IT und Networking arbeiten, müssen die Arbeit an Servern Teil Ihres täglichen Routine sein.

Das manuelle Konfigurieren verschiedener Server und Anwendungen kann ein ziemlicher Aufwand sein, wenn es viele Systeme gibt. Glücklicherweise lassen Automatisierungssoftware und Frameworks den Job viel einfacher erledigen.

Durch die Verwendung dieser Anwendungen können Sie den Verwaltungs- und Konfigurationsprozess mit nur wenigen Codezeilen vollständig automatisieren. Wenn es um die Automatisierung jeglicher Art geht, macht Ansible den Trick!

Ansible ist ein Werkzeug mit einer Vielzahl von Funktionen. Es wäre ungerecht, über alle in einem einzigen Leitfaden zu sprechen, da jede dieser Merkmale einen Leitfaden verdient.

Diese Anleitung ist ein detailliertes Tutorial zum Befehlsmodul ansible. Wir werden die Grundlagen des Moduls zusammen mit Syntax und Funktionen mit Hilfe einiger Beispiele durchgehen.

Was ist das Ansible -Befehlsmodul??

Wie der Name schon sagt, ermöglicht das Befehlsmodul es einem Remote -Server/Host, verschiedene Befehle ausführen zu können. Diese Remote -Benutzer werden in einem Netzwerk als Knoten bezeichnet.

Mit dem Ansible -Befehlsmodul können Sie mehrere Befehle auf diesen Knoten ausführen. Diese Knoten können als unabhängige Server oder Teile einer Gruppe existieren. Davon abgesehen gibt es einige Einschränkungen, die Sie wissen sollten.

Einschränkungen des Befehlsmoduls

Das Befehlsmodul kann zum Ausführen einfacher Basisbefehle für die Shell verwendet werden. Die einzige Einschränkung ist, dass es nicht verwendet werden kann, um komplexere Befehle auszuführen.

Das Befehlsmodul ansible kann nicht mehrere Befehle in einer einzigen Anweisung ausführen. Befehle unter Verwendung der Symbole, |, usw., sind nicht mit dem Befehlsmodul kompatibel. In solchen Fällen ist das Shell -Modul definitiv eine bessere Wahl.

Das Ansible -Befehlsmodul enthält einige Anforderungen, die erfüllt werden müssen, bevor Sie es verwenden können. Diese Anforderungen werden im nächsten Abschnitt dieses Leitfadens behandelt.

Voraussetzungen des Ansible -Befehlsmoduls

Um das Ansible -Befehlsmodul zu verwenden, benötigen Sie Folgendes:

  • Ein System, das Ansible installiert hat.
  • Ein paar Gastgeber. Wenn Sie Ihre Server testen, empfehlen wir die Verwendung von virtuellen Maschinen. Software wie Oracle VirtualBox, Vagrant und VMware -Workstations sind perfekt für den Job.

Wir empfehlen auch, dass Sie ein grundlegendes Know-how darüber haben, wie Sie Befehle im Terminal ausführen, um sicherzustellen, dass Sie wissen, was Sie tun.

Sobald die Voraussetzungen erfüllt sind, können wir lernen, wie man das Ansible -Befehlsmodul verwendet.

Verwenden des Ansible -Befehlsmoduls

Wenn Sie frühere Erfahrungen mit Shell -Skripten haben, sollte die Verwendung des Ansible -Befehlsmoduls ein Spaziergang im Park sein. Falls Sie dies nicht getan haben, machen Sie sich nicht Sorgen, da wir Sie mithilfe verschiedener Beispiele zur Verwendung des Befehlsmoduls verwenden werden.

Das erste, was Sie tun müssen, ist eine "Ansible_hosts" -Datei zu erstellen. Mit dieser Datei können Sie Ihre Hosts gruppieren, was für die Ausführung von Befehlen nützlich ist.

Um eine Gruppe von Hosts zu erstellen, geben Sie Folgendes in die Datei „Ansible_hosts“ ein,

$ ansible testServers -List -i ansible_hosts
Hosts (2):

In unserem Fall,

$ ansible testServers -List -i ansible_hosts
Hosts (2):
VM1
VM2

Diese Hosts sollten nun unter den Alias ​​„TestServers zusammengefasst werden.Lassen Sie uns diese Datei als Beispiele verwenden.

Verwenden des Befehlsmoduls, um Host -Laufzeit zu finden

In diesem Beispiel werden wir das Ansible -Befehlsmodul verwenden, um herauszufinden, wie lange unsere Hosts ausgeführt haben.

Dies kann auf zwei Arten erfolgen. Die erste verwendet Ad-hoc, eine schnelle Möglichkeit, Funktionen über einen einzelnen Befehl auszuführen. Der zweite ist das Schreiben eines Skripts im Spielbuch.

Verwenden Sie den folgenden Befehl, um die Laufzeit mit Ad-hoc zu finden:

$ ansible testServers -m -Befehl -a UTTIME -i ANSIBLE_HOSTS

Dies sollte Ihnen die Ausgabe in der folgenden Syntax liefern:

| Geändert | rc = 0 >>

Um den Befehl als Spielbuch auszuführen, geben Sie Folgendes ein:

Um den Befehl als Spielbuch auszuführen, geben Sie Folgendes ein:
- Name:
Gastgeber:
Aufgaben:
- Name:
Register: UPtimeOutput
Befehl: "Verfügungszeit"
- debuggen:
var: UptimeOutput.stdout_lines

In unserem Fall sollte das Skript wie folgt aussehen:

- Name: Finden Sie, wie lange die Hosts ausgeführt haben.
Hosts: TestServers
Aufgaben:
- Name: Befehl, um die Verfügbarkeit mit dem Befehlsmodul zu finden
Register: UPtimeOutput
Befehl: "Verfügungszeit"
- debuggen:
var: UptimeOutput.stdout_lines

Damit können Sie dieses Spielbuch ausführen, indem Sie den folgenden Befehl in das Linux -Terminal ausführen:

Ansible-Playbook-Testbuch.YML

Die Ausgabe sollte der des Ad-hoc-Befehls ähnlich sein.

Verwenden des Befehlsmoduls, um die Festplattennutzung zu finden

Der Befehl $ df -H wird verwendet, um die Festplattennutzung auf einem System herauszufinden. Der gleiche Befehl kann in das Ansible -Befehlsmodul integriert werden, um die Festplattennutzung seiner Hosts zu finden.

Verwenden Sie diesen Befehl, um die Disk-Nutzung mit Ad-hoc zu finden:

$ ansible testServers -m Befehl -a "df -h" -i ansible_hosts

Führen Sie das folgende Skript aus:

Name: Server Disk Nutzung
Hosts: TestServers
Aufgaben:
- Name: Führen Sie den Befehl $ df -h aus.
Register: DFOut
Befehl: "df -h"
- debuggen:
var: dfout.stdout_lines

Verwenden des Befehlsmoduls zum Neustarten von Server

Mit dem Ansible -Befehlsmodul kann ein einzelner Server neu gestartet werden. Der Parameter -limit wird verwendet, um diese Ausführung zu begrenzen.

Um den Befehl mit Ad-hoc auszuführen, geben Sie Folgendes ein,

$ ansible testServers -m Befehl -a "httpd -k restart" -i ansible_hosts -b -limit vm1

Führen Sie das folgende Skript aus, um den Befehl mit dem Playbook auszuführen:

---
- Name: Starten Sie den Webserver neu
Hosts: TestServers
Aufgaben:
- Name: NeustartWebserver
Register: httpdresout
Werde: Ja
Befehl: "httpd -k neu starten"
Wann: Ansible_hostname == "VM1"
- debuggen:
var: httpdresout.stdout_lines

Dies sollte Ihren Server neu starten. Es sollte offensichtlich sein, dass VM2 übersprungen wurde.

Abgesehen von den oben erwähnten Beispielen gibt es viele Befehle, die mit dem Ansible -Befehlsmodul ausgeführt werden können. Die Dokumentation dieser Befehle und Optionen finden Sie in der offiziellen Ansible -Dokumentation online.

Abschluss

Wir hoffen, dass dieser Leitfaden Ihnen geholfen hat, das Ansible -Befehlsmodul kennenzulernen. Wir haben die Grundlagen des Moduls, seine Voraussetzungen und einige Beispiele für die Verwendung des Gebrauchs behandelt. Wir hoffen, dass Sie eine angenehme Erfahrung mit Ansible haben.