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

So definieren und verwenden Sie Handler in Ansible Playbooks

In Ansible ist ein Handle gleichbedeutend mit einer Aufgabe, aber hier ist der Haken – es wird ausgelöst, um Maßnahmen zu ergreifen, wenn es von einem anderen Ereignis oder einer anderen Aufgabe aufgerufen wird, auf die es lauscht. Handler werden hauptsächlich verwendet, um sekundäre Aufgaben auszuführen, die mit der Installation eines neuen Dienstes wie eines Webservers oder einer Datenbank fortfahren. Diese Aufgaben umfassen das Neustarten oder Neuladen von Diensten, nachdem Änderungen in den Konfigurationsdateien vorgenommen wurden. Handler werden nur ausgeführt, wenn eine Aufgabe eine Benachrichtigung trägt Richtlinie.

Ansible Playbook-Datei mit einem Handler zum Neustarten von Nginx

Um die Rolle von Handlern in Ansible genau zu verstehen, erstellen wir eine einfache Playbook-Datei mit dem Namen install_nginx.yml . Das Playbook enthält ein einzelnes Spiel, das den Nginx-Webserver auf einem entfernten Ubuntu-Knoten installiert. Direkt nach der Installation wird die Benachrichtigung weist den Handler an, den Nginx-Dienst neu zu starten

Beachten Sie, dass die Definition von „benachrichtigen“ mit dem Namen des Handlers übereinstimmt. Wie Sie sehen können, wird „Nginx neu starten“ angezeigt Definition unter benachrichtigen Direktive stimmt mit dem Namen des Handlers im Playbook überein.

Lassen Sie uns nun die Playbook-Datei ausführen.

$ ansible-playbook /etc/ansible/install_nginx.yml -K

Aus der folgenden Ausgabe können Sie ersehen, dass Ansible die Aufgabe zuerst ausgeführt hat, gefolgt vom Handler. Außerdem können Sie sehen, dass 2 Änderungen aufgezeichnet wurden, bei denen es sich tatsächlich um die Installation von Nginx und den Neustart des Nginx-Dienstes handelt, die vom Handler durchgeführt wurden. Die primäre Aufgabe war die Installation von Nginx, während die sekundäre Aufgabe den Neustart des Nginx-Webservers war.

Ansible Playbook-Datei mit mehreren Plays und Handlern

Außerdem kann es vorkommen, dass eine Playbook-Datei mehrere Plays und Handler enthält.

Dies sind die Stücke, die wir haben:

  1. Installieren von Nginx
  2. Zulassen von HTTP-Verkehr über die UFW-Firewall.

Nachdem die Spiele ausgeführt wurden, ruft die Benachrichtigungsanweisung jeden der Handler auf, um ihre Aufgaben auszuführen – Nginx neu zu starten und die UFW-Firewall neu zu laden.

In diesem Beispiel sind die von den Handlern ausgeführten sekundären Aufgaben:

  1. Neustart des Nginx-Dienstes
  2. Firewall neu laden

Lassen Sie uns das Playbook noch einmal ausführen.

$ ansible-playbook /etc/ansible/install_nginx.yml -K

Hier haben wir insgesamt vier Aufgaben. Die ersten beiden werden von den Plays ausgeführt und die restlichen beiden werden von den Handlern behandelt. Sie können sehen, dass das Playbook nach der Laufzeit 4 Änderungen aufgezeichnet hat, die der Anzahl der ausgeführten Operationen oder Aufgaben entsprechen.

Schlussfolgerung

Offensichtlich ist die Verwendung von Handlern eine recht einfache und unkomplizierte Übung. Handler sind genau wie Tasks, nur dass sie von „benachrichtigen“ aufgerufen werden und werden zuletzt im Playbook ausgeführt.


Ubuntu
  1. Wie ich Ansible und Anacron für die Automatisierung verwende

  2. So installieren und verwenden Sie TensorFlow unter CentOS 7

  3. So installieren und konfigurieren Sie Ansible unter Windows

  4. So installieren und verwenden Sie Ansible unter Debian 11

  5. So verwenden Sie Ansible zum Installieren und Konfigurieren von Redis 6 unter Debian 11

So erstellen und verwenden Sie benutzerdefinierte Fakten in Ansible

So erstellen Sie Ansible Playbooks für die IT-Automatisierung

So erstellen und führen Sie eine Ansible Playbook-Datei aus

Ansible-Rollen und ihre Verwendung in Playbooks

So installieren und verwenden Sie Ansible unter Debian 10

So installieren und verwenden Sie R unter Ubuntu