Ansible: Cum se reîmprospătează inventarul gazdei în timpul execuției și se adaugă o pauză în timpul executării Playbook-ului?

Publicat: 2022-02-14

Cum să reîmprospătați inventarul gazdei în timpul execuției și să adăugați o pauză în timp ce executați Playbook

Pe Crunchify, am publicat atât de multe tutoriale despre Ansible, iar acesta se va concentra pe How to Refresh Host Inventory în timpul execuției și să Add a Pause în timpul executării sarcinilor.

Să luăm în considerare acest scenariu simplu de creare a VM Amazon EC2:

  • Executați scriptul Amazon EC2 Ansible care generează o VM și capturați în mod dinamic IP-uri publice în script.
  • În timpul execuției – adăugați IP-ul public al acelei mașini virtuale la fișierul hosts din grupul [crunchify] .
  • În sarcina ulterioară, utilizați IP-ul public nou adăugat, care a fost adăugat la fișierul hosts și instalați Java pe acesta.
  • Dacă nu utilizați refresh_inventory , atunci acesta nu va prelua IP-ul nou adăugat și veți vedea eșecul la fel ca mai jos.

În plus, aveți vreo întrebare de mai jos?

  • Cum să reîncărcați dynamic inventory Ansible
  • Pașii de reîmprospătare dinamică a inventarului Ansible
  • Pot să actualizez inventarul gazdelor și să folosesc gazde noi în same playbook ?
  • Ansible Dynamic Inventory nu reușește să obțină cele mai recente informații EC2 – de ce?

Să începem:

Pasul 1

Urmați complet tutorialul despre cum să spawn Amazon EC2 VM instance remotely using Ansible ?

Cum să creați, să porniți și să configurați o instanță Amazon EC2 folosind un script simplu Ansible? (generați VM de la distanță)

Pasul 2

Căutați o sarcină de mai jos în fișierul crunchify-ec2.yml .

După cum vedeți aici, după ce am creat Amazon EC2 VM , capturăm IP-ul public al VM și îl stocăm în fișierul hosts

Dacă aveți unele sarcini suplimentare în același .yml file atunci IP-urile nu vor fi încărcate automat. Doar adăugați linia de mai jos la Ansible Playbook și va reîmprospăta automat toată lista de inventar.

În același mod, dacă doriți să adăugați așteptați, adăugați linia de mai jos:

Eticheta de mai sus va introduce un minut de așteptare în registrul de joc Ansible.

Ansible Playbook actualizat pentru Amazon EC2 cu Wait și Meta Refresh

Ansible Playbook actualizat pentru Amazon EC2 cu Wait și Meta Refresh - Crunchify Tips

Iată exemplul meu de test Ansible Playbook:

Nume fișier: crunchify-refresh-hostfile-pause-1min.yml

Ieșire:

Doar executați din nou Ansible Playbook și veți vedea rezultatul de succes ca mai jos.

Asta e. Felicitări. Ați rulat cu succes Ansible Playbook.

Dacă sunteți în căutarea tuturor tutorialelor Ansible, vă rugăm să urmați pagina Ansible Archive.