Hva er Run_once i Ansible

Hva er Run_once i Ansible
Ansible Run_once Parameter Omkjøringer den tapte sløyfen og tvinger en spesifikk oppgave som skal utføres på den første verten i batch. Resultatet kan deretter brukes på andre aktive verter i spillboken.

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.