Table of Contents
Handler
Handler in Ansible dienen dazu, Aufgaben (Tasks) auszuführen, die nur dann aktiviert werden, wenn bestimmte vorherige Aufgaben in einem Playbook Änderungen auf einem Zielhost durchgeführt haben. Sie sind nützlich, um beispielsweise Dienste neu zu starten oder Konfigurationsdateien zu aktualisieren, nachdem eine Änderung vorgenommen wurde.
Hier ist ein einfaches Beispiel:
---
- name: Konfiguriere und starte den Webserver
hosts: webserver
tasks:
- name: Aktualisiere die Konfigurationsdatei
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: Restart nginx
- name: Stelle sicher, dass der Webserver läuft
service:
name: nginx
state: started
handlers:
- name: Restart nginx
service:
name: nginx
state: restarted
In diesem Playbook:
-
Zwei Tasks werden ausgeführt, um die Nginx-Konfigurationsdatei zu aktualisieren und den Webserver zu starten.
-
Der
notify
Parameter im ersten Task weist Ansible an, den HandlerRestart nginx
auszulösen, wenn die Konfigurationsdatei tatsächlich geändert wurde. -
Der Handler
Restart nginx
wird definiert, um den Nginx-Service neu zu starten, wenn er ausgelöst wird.
Wenn die Konfigurationsdatei geändert wird, wird der Handler Restart nginx
ausgeführt, um den Nginx-Service neu zu starten. Wenn keine Änderungen vorliegen, wird der Handler übersprungen. Handler bieten also eine Möglichkeit, Aufgaben abhängig von Änderungen auf dem Zielhost auszuführen.
Das Wiki zu den Fächern BSA und AIS. Home