Archiv- und nichtarchive Module in Ansible

Archiv- und nichtarchive Module in Ansible

Wir wissen bereits, wie man die Dateien oder Ordner in Windows komprimiert und entfaltet. Aber heute erfahren wir, wie wir die Dateien und Ordner mit dem Ansible -Tool komprimieren. Um beide Terminologien von Ansible zu verstehen, diskutieren wir zunächst über das Archivmodul. Später werden wir über das unarchive Modul in Ansible mit erklärten Beispielen diskutieren.

Archivmodul in Ansible

Ein Archivmodul im Ansible -Tool ist eine Sammlung aller Inhalte, die auf ein Aufbewahrungsgerät oder ein Remote -Gerät verschoben werden, damit wir den Inhalt für einen langen Zeitraum aufbewahren können, der für die regulatorischen Anforderungen getrennt ist oder von der Hauptbehörde entfernt wurde oder Hostmaschine. Der Inhalt, den wir komprimieren möchten. Um die Archivfunktionen im Ansible -Tool zu verwenden, verwenden wir die Freisetzung von Ansible 2.3 oder über Version, weil wir vor dieser Version von Ansible das Shell -Modul verwenden, um einen Ordner in Ansible zu komprimieren. Um die Dokumentdateien und Verzeichnisse zu komprimieren, gibt es in Ansible 2 viele Formate.3 Version oder höher, die wir verwenden werden .Reißverschluss, .Teer, .gz, .BZ2 usw., um das Verzeichnis zu archivieren. Um die Dokumentdatei oder das Verzeichnis zu komprimieren, muss das virtuelle Host -Gerät den Inhalt enthalten, den wir komprimieren möchten.

Voraussetzungen, um den Inhalt in Ansible zu archivieren

Wir gehen davon aus, dass Sie einen Ansible -Controller mit dem konfigurierten Ansible auf Ihrem Gerät und einigen virtuellen Maschinen haben, damit wir die Funktionalität der Archivmodule im Ansible -Tool validieren können.

Um das Konzept eines Archivmoduls in Ansible zu verstehen, lassen Sie uns ein Beispiel eines Archivs implementieren, damit wir das Konzept der Komprimierung des Inhalts in Ansible leicht verstehen können.

Beispiel: Komprimieren der Datei oder des Verzeichnisses in .ZIP -Format

Hier ist das allererste Beispiel des Ansible Archivmoduls, in dem wir das Dokument oder das Verzeichnis in a komprimieren .ZIP -Format. Zum Komprimieren des Dokuments in .ZIP -Format erstellen wir zuerst das Spielbuch. Im Spielbuch schreiben wir den Ort des Dokuments oder Verzeichnisses, den wir komprimieren möchten, und schreiben auch den Zielpunkt, an dem wir die Archivdatei oder den Ordner platzieren möchten. Der Befehl, mit dem das Spielbuch im Ansible -Tool konstruiert wird, ist im Folgenden aufgeführt:

[Root@Master Ansible]# Nano -Archiv.YML

Nach dem Schreiben des Befehls ein Archiv.Die YML -Playbook -Datei wird angezeigt. Zunächst stellen wir "All" die Remote -Hosts zur Verfügung, in denen wir das Dokument archivieren möchten. Um die Informationen über die Remote -Hosts zu erwerben, startet das Comete_Facts -Variable des Ansible Playbook das Konfigurationsmodul standardmäßig am Anfang des Archivs.YML Playbook. Danach schreiben wir die Aufgaben, die wir im Archiv erledigen wollen.YML Playbook.

Im Modul der Aufgabe schreiben wir den Namen der Aufgabe. Wir schreiben das Archivmodul, das zeigt, dass wir das Dokument komprimieren möchten. Im Archivmodul muss die Dokumentdatei oder das Verzeichnis, das komprimiert werden soll. Das Argument „Pfad“ enthält den tatsächlichen Pfad des Quelldokuments, der/home/ansible/test ist.

Der Pfad des Zielgeräts ist /TMP /Test.ZIP und das Format des Archivmoduls ist .Reißverschluss. Wenn das Zielverzeichnis irgendwie nicht bereitgestellt wird, kehrt es in das Standardverzeichnis der Dokumentdatei zurück. Das Folgende ist das Spielbuch, das die vollständigen Aufgaben des Archivmoduls enthält:

- Gastgeber:
- alle
sammeln_facts: false
Aufgaben:
- Name: Compress Directory/Home/Ansible/Test in Verzeichnis/TMP/Test.Reißverschluss
Archiv:
Pfad:/Home/Ansible/Test
dest: /tmp /test.Reißverschluss
Format: Reißverschluss

Das Playbook -Archiv verlassen.YML, wir drücken "Strg+x" und speichern die Modifikationen, indem wir das "y" drücken.

Wenn Sie das Archiv ausführen möchten.YML Playbook, wir müssen zunächst die Inventardatei erstellen. Als nächstes stellen wir die Verbindungen zwischen den Remote -Hosts und dem Ansible Controller her. Um die Inventardatei zu erstellen, schreiben wir den folgenden Befehl:

[Root@Master Ansible]# Nano Host.YML

Der Wirt.Die YML -Inventardatei wird auf dem neuen Bildschirm angezeigt. Jetzt schreiben wir die Informationen zu den Hosts. Da schreiben wir "alle" Hosts im Archiv.YML Playbook, wir schreiben zuerst die "All" und dann schreiben wir die Informationen "Hosts". Wir geben die Host -IP -Adresse, den Namen des Ansible -Benutzers, das Kennwort des Ansible, den Verbindungsnamen und die verfügbare Portnummer in der Bestandsdatei an, wie Sie im Folgenden angezeigt werden können:

Alle:
Gastgeber:
Host1:
Ansible_Host: 192.168.3.229
ansible_user: Ansible
ansible_password: ********
Ansible_Connection: SSH
Ansible_port: 22

Jetzt führen wir das Spielbuch und die Inventardatei aus, die wir bereits durch das Schreiben des folgenden Befehls erstellt haben:

[Root@Master Ansible]# Ansible-Playbook-Archiv.YML -ich Host.YML

Hier ist das Ergebnis des Ansible -Bogens.YML Playbook:

Wie Sie im Ausgang sehen können, wird das Verzeichnis von Host1 durch Anzeigen des Signals „OK“ komprimiert.

Unarchives Modul in Ansible

Das nicht angehaltene Modul wird verwendet, um den Inhalt des Dokuments oder des Verzeichnisses auszupacken oder zu entpacken. Um das unarchive Modul von Ansible zu verwenden, sollte das Dokument oder das Verzeichnis in archivierter Form verfügbar sein.

Beispiel: Verfasser die Datei oder das Verzeichnis der .ZIP -Format

Wir haben das Verzeichnis, das wir kürzlich erstellt haben. Wenn wir das Verzeichnis oder die Datei unkomprimieren. Um das Dokument oder das Verzeichnis nicht zu verhalten, erstellen wir zunächst das Spielbuch, in dem wir die Quelle und das Ziel des Verzeichnisses schreiben.

[root@master ansible]# nano unarchive.YML

Wir schaffen das Unarchive.YML Playbook. Jetzt schreiben wir die Remote -Hosts und die Aufgaben, die wir im Spielbuch implementieren möchten. In den Aufgaben schreiben wir die "SRC".Reißverschluss. Dann schreiben wir die Variable „Dest“ und platzieren den Pfad, der/home/ansible/wo wir den Inhalt des Verzeichnisses auspacken möchten.

- Gastgeber:
- alle
sammeln_facts: false
Aufgaben:
- Name: Unarchive Voraussetzungen.Reißverschluss von der Controller -Maschine in /home /ansible auf der Zielmaschine
unarchiv:
Src: /TMP /Voraussetzungen.Reißverschluss
dest:/home/ansible/

Wir haben bereits die vorherige Bestandsdatei erstellt, die Host ist.YML, damit wir die Verbindung nicht wieder zwischen dem Ansible Controller und den Remote -Hosts aufbauen müssen. Wir schreiben einfach den Befehl Ansible-Playbook und rufen den Host an.YML -Inventardatei darin. Wenn wir nicht die Verbindung haben, bauen wir die Verbindung auf. Den Ansible Unarchive zu führen.YML Playbook, schreiben Sie den folgenden Befehl:

[Root@Master Ansible]# Ansible-Playbook Unarchive.YML -ich Host.YML

Das Folgende ist die ausführbare Ausgabe des Ansible Playbooks, in dem wir den Inhalt des Verzeichnisses auspacken:

Abschluss

Wir haben gelernt, wie man ein Dokument oder ein Verzeichnis mit dem Ansible -Tool komprimiert und unkomprimiert. Erstens haben wir ein Standardverzeichnis, das wir in ein Archivmodul konvertiert haben. Dann haben wir das archivierte Verzeichnis nicht anartigen, indem wir das Beispiel der implementierten .ZIP -Format mit einer detaillierten Erklärung.