Denne guiden vil diskutere hvordan du kan bruke Ansible Run_once -modulen til å utføre et sett med operasjoner.
Grunnleggende bruk
Parameteren Ansible Run_once brukes på en spesifikk oppgave du vil bli utført på den første verten.
Følgende eksempel Playbook viser hvordan du kan angi RUN_ONCE -parameteren i en spillbok.
---
- Verter: Alle
#..
oppgaver:
- Navn: Kjør denne kommandoen en gang
Shell: Kommando
run_once: sant
Eksemplet playbook ovenfor viser den generelle syntaksen for å implementere en run_once -oppgave.
La oss se på noen få eksempler og se forskjellige brukssaker av RUN_ONCE -parameteren.
Eksempel 1
Vi implementerer en enkel spillbok som laster ned en zip -fil fra en URL i vårt første eksempel. Siden det ikke er fornuftig å gjentatte ganger laste ned filen på hver vert, kan vi bruke parameteren RUN_.
Ta eksemplet spillbok vist nedenfor:
---
- Verter: Alle
Samle_facts: Ja
oppgaver:
- Navn: Last ned fil bare en gang
run_once: sant
get_url:
URL: https: // file-eksempler-com.github.IO/Uploads/2017/02/ZIP_10MB.glidelås
dest: ~/zip_10mb.glidelås
- Navn: Unarkiv
Unarkiv:
src: ~/zip_10mb.glidelås
dest: ~/zip_10mb
Eksemplet Playbook ovenfor vil laste ned filen i den første batch og deretter fjerne den på de eksterne vertene.
Eksempel 2
Den neste eksemplet playbook oppretter et arkiv fra et git -depot.
---
- Verter: Alle
Samle_facts: Ja
oppgaver:
- Navn: Lag arkiv fra repo
Git:
repo: https: // github.com/prøver/repo.git
dest:/hjemme/bruker/repo
Arkiv:/Hjem/bruker/repo.glidelås
run_once: sant
Eksempel 3
Vi kan også bruke parameteren Run_once til å opprette en sikkerhetskopi og deretter synkronisere databasen til de eksterne vertene ved hjelp av Rsync -protokollen. Tenk på eksemplet spillbok nedenfor:
---
- Verter: Alle
Samle_facts: Ja
bli: sant
oppgaver:
- Navn: Opprett et sikkerhetskopiarkiv
arkiv:
sti:
/var/log/
/tilpasset/alle
dest: /backup /System0-backup.BZ2
Format: BZ2
Fjern: Nei
run_once: sant
- Navn: Sync -sikkerhetskopi med Rsync
Synkroniser:
SRC: /Backup /System0-Backup.BZ2
dest: rsync: // inventar_hostname/backups
Playbooken vil lage et sikkerhetskopiarkiv på Localhost og synkronisere filene til alle eksterne verter.
Eksempel 4
Eksemplet Playbook bruker parameteren Run_once for å sende e -post til alle verter.
---
- Verter: Alle
Samle_facts: Ja
bli: sant
oppgaver:
- Navn: Opprett et sikkerhetskopiarkiv
Local_Action:
Modul: Mail
Emne: "Mail fra Ansible.""
til: ubuntu@localhost
Kropp: "Oppdatert til den nye Redis -versjonen.""
run_once: sant
Playbooken sender e -post til en bestemt bruker.
Konklusjon
Denne guiden viser deg hvordan du bruker RUN_ONCE -parameteren i Ansible for å utføre en oppgave på en enkelt vert og bruke resultatene på andre verter.