Ansible varsler når det endres

Ansible varsler når det endres
I Ansible refererer en behandler til en bestemt oppgave som utføres når den utløses av varslingsmodulen. Håndterere utfører en handling definert i oppgaven når en endring oppstår i den eksterne verten.

Håndterere er nyttige når du trenger å utføre en oppgave som er avhengig av en spesifikk oppgaves suksess eller fiasko. For eksempel kan du stille en behandler til å sende Apache -logger hvis tjenesten går ned.

Denne artikkelen vil hjelpe deg å forstå hvordan du kan definere og bruke Ansible Handler i spillbøker.

Grunnleggende bruk

For å illustrere hvordan du bruker Ansible Handler, la oss et enkelt eksempel. Playbooken nedenfor vil installere Apache HTTP -serveren og bruke en behandler til å starte tjenesten.

---
- Verter: Alle
bli: sant
Samle_facts: Nei
oppgaver:
- Navn: "Installer apache"
pakke:
Navn: Apache2
Stat: Nåværende
gi beskjed:
startapache
håndterere:
- Navn: StartApache
service:
Navn: Apache2
Stat: startet

I eksemplet Playbook ovenfor starter vi med å installere Apache2 -serveren ved hjelp av pakkemodulen. Vi bruker deretter en varslingsmodul for å angi en varslingshandling.

Det siste trinnet er å konfigurere en behandler som skal kjøres etter at serveren er installert. Navnet på varselet skal være det samme som navnet som brukes i behandlermodulen. Ellers vil den spesifiserte behandleren mislykkes.

Lagre og kjør ovennevnte spillbok:

Ansible-PlaybookHandlers.yml

Hvordan konfigurere Ansible Varsle behandler for varslingsmelding

Du kan også konfigurere en Ansible Handler for å vise en melding i stedet for å ta handlinger som omstartstjenester på nytt.

For eksempel starter spillboken nedenfor Apache -tjenesten og viser en melding til brukeren.

---
- Verter: Alle
bli: sant
oppgaver:
- Navn: "Start Apache" på nytt "
service:
Navn: Apache2
Stat: Start på nytt
gi beskjed:
Apacherestarted
håndterere:
- Navn: Apacherestarted
Debug:
MSG: "Apache -tjenesten starter på nytt med hell"

I eksemplet over registrerer vi en enkel behandler som viser en vellykket melding når Apache -tjenesten startes på nytt.

Nedenfor er et eksempelutgang:

Oppgave [Start Apache] på nytt]
**********************
endret: [192.168.0.111]
Løpshåndterer [Apache startet på nytt]
**************************************
OK: [192.168.0.111] =>
"MSG": "Apache -tjenesten startet på nytt med hell.""

Hvordan konfigurere Ansible Varsler behandler for flere håndterere

Anta at du vil oppdatere systemet og starte to tjenester på nytt etter oppdateringen. Som vist i spillboken nedenfor, kan du definere to behandlere for å utføre som handlinger:

---
- Verter: Alle
bli: sant
oppgaver:
- Navn: "Oppdater systemet"
apt:
UPDATE_CACHE: Ja
Oppgradering: Dist
gi beskjed:
-Apache
-mysql
håndterere:
- Navn: Apache
service:
Navn: Apache2
Stat: Start på nytt
- Navn: MySQL
service:
Navn: MySQLD
Stat: Start på nytt

I dette eksemplet playbook oppdaterer vi systemet ved hjelp av APT -modulen. Deretter bruker vi varslingsmodulene for å definere to oppgaver.

Ved hjelp av håndterere definerer vi handlinger for hver varsel om oppgaven. I vårt eksempel startet vi både Apache og MySQL -tjenester på nytt.

Konklusjon

Denne opplæringen har vist deg hvordan du kan definere og bruke Ansible Notify- og Handlers -modulen for å utføre en handling der en oppgave er fullført.