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.