V Ansible je handle synonymem pro úkol, ale tady je háček – je spuštěn k akci, když je volána jinou událostí nebo úlohou, které naslouchá. Obslužné rutiny se většinou používají k provádění sekundárních úloh, které pokračují instalací nové služby, jako je webový server nebo databáze. Tyto úlohy zahrnují restartování nebo opětovné načtení služeb po provedení úprav v konfiguračních souborech. Obslužné rutiny se spouštějí pouze poté, co úloha nese upozornění směrnice.
Soubor Ansible Playbook s obslužnou rutinou pro restartování Nginx
Abychom lépe pochopili roli handlerů v Ansible, vytvoříme jednoduchý soubor playbook s názvem install_nginx.yml . Playbook obsahuje jednu hru, která nainstaluje webový server Nginx na vzdálený uzel Ubuntu. Ihned po instalaci se zobrazí upozornění direktiva nařizuje obsluze restartovat službu Nginx
Dávejte pozor, aby definice „oznámit“ odpovídala jménu obsluhy. Jak můžete vidět „Restart Nginx“ definice pod oznámením direktiva odpovídá názvu Handler v playbooku.
Nyní spusťte soubor playbook.
$ ansible-playbook /etc/ansible/install_nginx.yml -K
Z výstupu níže můžete vidět, že Ansible provedl úlohu jako první, poté následoval handler. Navíc můžete vidět, že zaznamenal 2 změny, které jsou ve skutečnosti instalací Nginx a restartováním služby Nginx, které provedl handler. Primárním úkolem byla instalace Nginx, zatímco sekundárním úkolem bylo restartování webového serveru Nginx.
Soubor Ansible Playbook s více hrami a ovladači
Navíc můžete mít scénář, kde soubor playbooku obsahuje více přehrání a obslužných programů.
Toto jsou hry, které máme:
- Instalace Nginx
- Povolení provozu HTTP přes bránu firewall UFW.
Po provedení přehrání zavolá direktiva notify každý z handlerů, aby provedl své úkoly – restartoval Nginx a znovu načetl UFW firewall.
V tomto příkladu jsou sekundární úkoly prováděné obslužnými rutinami:
- Restartování služby Nginx
- Obnovení brány firewall
Spusťte si příručku ještě jednou.
$ ansible-playbook /etc/ansible/install_nginx.yml -K
Zde máme celkem čtyři úkoly. První dva provádějí hry a zbývající dva manipulují psovodi. Můžete vidět, že po spuštění playbook zaznamenal 4 změny, které odpovídají počtu provedených operací nebo úloh.
Závěr
Je zřejmé, že použití psovodů je poměrně jednoduché a přímočaré cvičení. Obslužné rutiny jsou stejné jako úkoly, pouze se nazývají „notify“ a jsou v playbooku provedeny jako poslední.