Du kan overvinne dette ved å bruke ekstern inngang til en Ansible Playbook ved hjelp av ekstra variabler.
Denne artikkelen vil lære å bruke Ansible ekstra variabler for å gi tilpassede eller dynamiske verdier uten å redigere spillbøkene.
Hva er Ansible ekstra vars?
Ansible Extra Vars er en funksjon som lar deg inkludere mer fleksibilitet i dine Ansible Playbooks ved å gi deg muligheten til å spesifisere dynamiske verdier når du utfører spillboken.
Ansible ekstra vars er nyttige når:
Hvordan bruke Ansible ekstra vars
Ansible ekstra vars vil overskrive verdien som er lagret i en spillbok eller en variabel fil. De kalles også kommandolinjevariabler.
La oss nå se på et eksempel på hvordan du bruker ekstra vars.
Et typisk eksempel på de ekstra varene i Ansible er når du har hardkode vertenes verdi. Anta at du har en spillbok som kjører på verter med gruppen "utvikling" når du trenger å kjøre spillboken på "Production" -verter, vil du bli tvunget til å redigere spillboken.
Dette kan være slitsomt og utsatt for feil, spesielt på en omfattende samling av vertsgrupper.
For å løse dette problemet, kan vi bruke Ansible Extra VARS -funksjonen. Vi kan definere en variabel som representerer vertenes gruppe og spesifisere verdien når vi kjører spillboken.
Tenk på eksemplet spillbok nedenfor:
---Nå som vi har et eksempel på Playbook som ovenfor, kan vi gi verdien til "Group" -variabelen ved hjelp av -extra -vars -alternativet mens vi kjører spillboken.
Et eksempel -kommando er som vist:
Ansible-Playbook-eksempel.YML -Extra -Vars “Group = Production”For å endre gruppen til "utvikling", trenger du ikke redigere spillboken; passere variabelen som vist:
Ansible-Playbook-eksempel.YML-Extra-Vars “Group = Development”Eksemplet nedenfor bruker ekstra vars for å spesifisere tjenesten for å starte basert på målfordelingen.
---Ved å bruke spillboken ovenfor, kan vi spesifisere de ekstra variablene som:
Ansible-Playbook-eksempel.YML-Extra-Vars “Group = Development Pkg_Name = Apache2”Hvis du vil passere variabler med mellomrom, bruker du enkelt anførselstegn som vist i eksemplet nedenfor:
Ansible-Playbook-eksempel.yml -Extra -vars "protocol = 'All -SLV2'"Konklusjon
Denne opplæringen illustrerer hvordan du implementerer og bruker Ansible ekstra variabler for å legge til fleksibilitet til spillbøker. Sjekk dokumentasjonen for å lære mer.