Co to jest run_once w ansible

Co to jest run_once w ansible
Parametr ansible run_once objawia utraconą pętlę i wymusza określone zadanie do wykonania na pierwszym hoście w partii. Wynik można następnie zastosować do innych aktywnych hostów w podręczniku.

W tym przewodniku omówi się, w jaki sposób możesz użyć modułu Ansible Run_once do wykonania zestawu operacji.

Podstawowe użycie

Parametr ansible run_once jest stosowany do jednego konkretnego zadania, które chcesz wykonać na pierwszym hoście.

Poniższy przykład pokazuje, jak możesz ustawić parametr run_once w podręczniku.

---
- Gospodarze: Wszyscy
#…
Zadania:
- Nazwa: Uruchom to polecenie raz
Shell: Command
run_once: true

Przykładowy podręcznik powyżej pokazuje ogólną składnię, aby wdrożyć zadanie run_once.

Spójrzmy na kilka przykładów i zobacz różne przypadki użycia parametru run_once.

Przykład 1

W naszym pierwszym przykładzie zaimplementujemy prosty poradnik, który pobiera plik ZIP z adresu URL. Ponieważ wielokrotne ponowne ładowanie pliku nie ma sensu, możemy użyć parametru run_once.

Weźmy przykład pokazanego poniżej:

---
- Gospodarze: Wszyscy
GACED_FAFTS: Tak
Zadania:
- Nazwa: Pobierz plik tylko raz
run_once: true
get_url:
URL: https: // file-examples-com.github.IO/uploads/2017/02/zip_10mb.zamek błyskawiczny
dest: ~/zip_10mb.zamek błyskawiczny
- Nazwa: nierecha
Niezbędne:
src: ~/zip_10mb.zamek błyskawiczny
dest: ~/zip_10mb

Powyższy przykładowy podręcznik pobranie pliku w pierwszej partii, a następnie niezachwia go na zdalnych hostach.

Przykład 2

Następny przykładowy podręcznik tworzy archiwum z repozytorium Git.

---
- Gospodarze: Wszyscy
GACED_FAFTS: Tak
Zadania:
- Nazwa: Utwórz archiwum z Repo
git:
Repo: https: // github.com/próbki/repozytor.git
dest:/Home/User/Repo
Archiwum:/Home/User/Repo.zamek błyskawiczny
run_once: true

Przykład 3

Możemy również użyć parametru run_once, aby utworzyć kopię zapasową, a następnie zsynchronizować bazę danych z hostami zdalnymi za pomocą protokołu RSync. Rozważ przykładowy podręcznik poniżej:

---
- Gospodarze: Wszyscy
GACED_FAFTS: Tak
staje się prawdą
Zadania:
- Nazwa: Utwórz archiwum zapasowe
Archiwum:
ścieżka:
/var/log/
/Custom/All
dest: /backup /system0-backup.BZ2
Format: BZ2
Usuń: nie
run_once: true
- Nazwa: Synchronizacja tworzenia kopii zapasowej z rsync
synchronizować:
src: /backup /system0-backup.BZ2
dest: rsync: // Inventory_hostname/Backups

Playbook utworzy archiwum kopii zapasowej w LocalHost i zsynchronizuje pliki ze wszystkimi zdalnymi hostami.

Przykład 4

Przykładowy podręcznik używa parametru run_once do wysyłania poczty do wszystkich hostów.

---
- Gospodarze: Wszyscy
GACED_FAFTS: Tak
staje się prawdą
Zadania:
- Nazwa: Utwórz archiwum zapasowe
Local_Action:
Moduł: poczta
Temat: „Mail z Ansible."
do: ubuntu@localHost
Body: „Zaktualizowano do nowej wersji Redis."
run_once: true

Podręcznik wysyła pocztę do konkretnego użytkownika.

Wniosek

Ten przewodnik pokazuje, jak używać parametru run_once w Ansible, aby wykonać zadanie na jednym hoście i zastosować wyniki do innych hostów.