Strategie: linear, free i host_pinned
Zmiana sposobu przechodzenia playów po hostach.
Strategie: linear, free i host_pinned to bezpłatna lekcja Ansible Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ansible Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ansible Academy zawiera 4 lekcji w sumie.
Strategia wyznacza tempo
Wtyczka strategy decyduje, jak hosty przechodzą przez zadania playa. Określa, czy poruszają się równym krokiem, czy każdy działa we własnym tempie.
linear jest ustawieniem domyślnym
Domyślna strategia linear wykonuje jedno zadanie na każdym hoście, czeka na zakończenie wszystkich, a następnie wspólnie przechodzi do następnego zadania.
- hosts: web
strategy: linearDlaczego linear może spowalniać
W przypadku linear najwolniejszy host przy każdym zadaniu wstrzymuje pozostałe. Szybkie serwery bezczynnie czekają na opóźniony host, zanim play przejdzie dalej.
free pozwala hostom przyspieszyć
Strategia free usuwa tę barierę. Każdy host przechodzi przez swoje zadania tak szybko, jak potrafi, i nigdy nie czeka, aż pozostałe go dogonią.
- hosts: web
strategy: freefree zamienia kolejność na szybkość
W przypadku free hosty kończą pracę o różnych porach, a dane wyjściowe przeplatają się. Zyskuje się szybkość, ale traci uporządkowaną synchronizację zadanie po zadaniu.
Kiedy free sprawdza się najlepiej
Warto użyć free, gdy hosty są niezależne, a niektóre z nich działają znacznie wolniej. Należy go unikać, gdy jeden host musi zakończyć krok, zanim inny będzie mógł rozpocząć kolejny.
Poznaj host_pinned
Strategia host_pinned przypisuje proces roboczy do jednego hosta aż do zakończenia jego pracy, zamiast cyklicznie rozdzielać go między całą flotę.
- hosts: web
strategy: host_pinnedDlaczego przypisywanie pomaga
Dzięki pełnemu kończeniu pracy na hostach przed pobraniem kolejnych strategia host_pinned ogranicza liczbę maszyn obsługiwanych jednocześnie, zmniejszając obciążenie systemów zaplecza, takich jak serwer licencji.
Ustawiaj dla każdego playa
Strategia jest kluczem na poziomie playa, więc różne playe w jednym pliku mogą używać różnych strategii. Dla każdej fazy pracy należy wybrać najlepiej dopasowaną opcję.
Albo ustaw wartość domyślną
Wybierz domyślną strategię dla całego projektu za pomocą klucza strategy w ansible.cfg. Ustawienie dla konkretnego playa nadal ma pierwszeństwo, gdy zostanie określone.
[defaults]
strategy = freeStrategia i forks
Strategia określa sposób przepływu hostów, a forks ogranicza liczbę hostów działających jednocześnie. Oba ustawienia należy dostrajać razem, aby uzyskać oczekiwaną przepustowość.
Szybkie sprawdzenie
Jeden host w Państwa partii jest znacznie wolniejszy od pozostałych i wstrzymuje play.
Podsumowanie
linear utrzymuje hosty w jednym rytmie, free pozwala im niezależnie przyspieszać, a host_pinned kończy pracę na jednym hoście przed rozpoczęciem pracy na następnym. Wybór należy ustalać dla każdego playa. 🏁
Często zadawane pytania
Czy lekcja „Strategie: linear, free i host_pinned” jest bezpłatna?
Tak — pełny tekst „Strategie: linear, free i host_pinned” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ansible Academy, przejdź na CoddyKit PRO. Kurs Ansible Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Strategie: linear, free i host_pinned”?
Zmiana sposobu przechodzenia playów po hostach. Ćwiczysz Ansible Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Ansible Academy?
Nie wymagamy żadnego doświadczenia. Ansible Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Strategie: linear, free i host_pinned”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Ansible Academy?
Tak. Każda lekcja Ansible Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- forks i dostrajanie równoległości
- Strategie: linear, free i host_pinned
- Potokowanie SSH i ponowne używanie połączeń
- serial i wykonywanie partiami kroczącymi