Podczas konfigurowania zadania na innym urządzeniu hosta błędy Ansible są powszechnym zjawiskiem. Reprezentują wyjątkowe i ewentualnie znaczące stany systemowe. Mimo to mogą wystąpić pewne błędy, których chcemy uniknąć, aby zadania również wykonały się i wyświetlały wyjście, jeśli zostaną pomyślnie wykonane. W tym artykule porozmawiamy o błędach ansible i ich zignorowaniu. W szczególności demonstrujemy technikę stłumienia i ignorowania awarii za pomocą ansible.
Kontrastując z naprawieniem błędów, unikanie niepowodzeń pociąga za sobą kontynua. Narzędzie Ansible wydaje komunikat ostrzegawczy, gdy nie może zakończyć zadania lub podręcznika podczas debugowania zadania. Istnieje kilka przyczyn, ale od nas zależy, aby je zidentyfikować i znaleźć rozwiązanie. Niestety nie wszystkie błędy mogą zostać naprawione. Możesz zacząć ignorować błędy, jeśli nie chcesz lub jeśli nie możesz rozwiązać problemu.
Większość kontrolowania menedżerów w Ansible wykorzystuje tę strategię, łącząc się z hostami docelowymi w scenariuszach rzeczywistych. Domyślne wartości domyślne w celu zaprzestania działań na urządzeniu docelowym i kontynuowaniu działań na niektórych innych serwerach, ilekroć zwróci to niezerowy wynik z instrukcji lub błędu z pakietu. Chociaż istnieją pewne sytuacje, w których możesz chcieć działać inaczej. Zwrócony wynik, który nie jest zerowy, czasami oznacza postęp. Często możesz chcieć, aby przetwarzanie zatrzymało się na jednym serwerze, aby zatrzymał się na wszystkich hostach.
Sposoby ignorowania błędów w Ansible
W Ansible stosuje się różne sposoby do wykonywania zadań Playbook, jeśli pokazuje awarię zadania. Poniżej znajdują się różne sposoby, które pomogą wykonać zadanie, nawet jeśli Ansible pokazuje błędy:
1. Wykorzystanie polecenia ignor_errors = true
Mimo że zadanie nadal się nie powiedzie, podręcznik nadal wykonuje się, jeśli określisz polecenie Ignorore_errors = True na dole aktywności. Pomimo dbania o zakończenie zadania lub awarie, nadal prowadzi kolejne działanie. Jeśli w jakiś sposób aktywność się nie powiodła, przechodzi do następnego. Jeśli działanie zakończy się powodzeniem, kończy proces później.
2. Wykorzystanie trybu kontroli w Ansible
Wykorzystaj logiczne zmienne specjalne, tryb kontroli Ansible, który jest zdefiniowany na true, gdy ansible jest w metodzie kontroli, aby ominąć zadanie lub zlekceważyć awarie zadania, ilekroć używana jest wersja metody kontroli Ansible.
3. Wykorzystanie nieudanego = kiedy polecenie w Ansible Playbook
W Ansible możemy również wykorzystać nieudane_wodowe, aby określić dowolną „awarię” dla każdej czynności. Podobnie jak wszystkie instrukcje warunkowe, listy licznych kryteriów nieudanych. Tak więc zadanie się nie powiedzie tylko wtedy, gdy wszystkie warunki są spełnione.
Warunki wstępne ignorowania błędów w Ansible
Narzędzie konfiguracyjne Ansible musi być zgodne z niezbędnymi kryteriami w celu uwzględnienia konkretnego przykładu:
Aby pomóc uczniowi w zrozumieniu zasady wykorzystania błędu ignorowania w Ansible Playbook, zaimplementujmy następujący przykład:
Przykład: Korzystanie z polecenia Ignorore_errors = True
Jest to najprostszy przykład, który wykorzystuje ansible do implementacji, w której dołączamy kilka zadań w podręczniku i wykonujemy zadania za pomocą polecenia ignorowania błędu. Aby to zrobić, najpierw piszemy następujący kod w terminalu Ansible:
[root@master ansible]# nano ignore_errors.yml
Po utworzeniu i uruchomieniu Ignoraste_errors.Plagbook YML, teraz zaczynamy wprowadzać polecenia w podręczniku. Najpierw używamy opcji „hostów”, przekazując dostarczone hosty jako „Localhost”. Wprowadzamy „fałszywe” wartość w argumencie „Zbierz fakty”, abyśmy nie mogli uzyskać dodatkowych informacji o lokalnym hoście, kiedy uruchamiamy podręcznik.
Następnie zaczynamy wymieniać każde zadanie, które chcemy wykonać w ramach opcji „Zadania”. W pierwszym zadaniu wyświetlamy dokument, który nie istnieje w katalogu Ansible. Najpierw przekazujemy tytuł zadania, które chcemy wdrożyć. Następnie używamy opcji polecenia i przechowujemy nieistniejący dokument tekstowy i używamy „LS”, abyśmy mogli wykonać polecenie w pierwszym zadaniu. Po pierwszym zadaniu używamy polecenia ignor_errors = true, aby jeśli zadanie powyżej instrukcji ignorowania ma awarię, ignoruje zadanie i przechodzi do następnego zadania i wykonuje je.
Wymieniamy kolejne zadanie, które jest używane. Jeśli pierwsze zadanie się nie powiedzie, narzędzie Ansible musi wykonać następne zadanie. Następnie używamy parametru debugowania do uruchomienia zadania w podręczniku.
- Gospodarze: Localhost
GACED_FAFTS: FAŁSZ
Zadania:
- Nazwa: Wypisz nieistniejący plik
Polecenie: LS nie istnieje.tekst
ignore_errors: true
- Nazwa: Kontynuuj zadanie po porażce
odpluskwić:
MSG: „Kontynuuj zadanie po porażce”
Teraz wymieniamy wystarczającą liczbę zadań, aby wykonać i sprawdzić polecenie Ignoruj błąd. Teraz kończymy podręcznik i wracamy do głównego terminalu. Potem uruchamiamy podręcznik. W tym celu używamy następującego stwierdzenia:
[root@master ansible]# Ansible-Playbook ignore_errors.yml
Po wykonaniu wyżej wspomnianego polecenia otrzymujemy następujące dane wyjściowe. Jak widać, pierwsze zadanie, które zawiera listę nieistniejącego pliku, pokazuje awarię. Ale drugie zadanie jest wykonywane pomyślnie, ponieważ zignorowaliśmy pierwsze zadanie, wykorzystując ignare_error = true w podręczniku.
Wniosek
Nauczyliśmy się, co oznacza błąd ignorowania w Ansible. Omówiliśmy, jak funkcjonuje w Ansible Playbook. Omówiliśmy także różne sposoby ignorowania błędu w Ansible podczas wykonywania zadań. Wdrożyliśmy przykład, aby każda koncepcja była jasna dla użytkownika.