Ansible Academy · Lekcja

Katalogi group_vars i host_vars

Porządkowanie zmiennych według hosta i grupy.

Lekcja 2 z 413 kroki

Katalogi group_vars i host_vars 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.

Przestań wpisywać zmienne na stałe

Ukrywanie wartości w playbookach szybko staje się kłopotliwe. Zamiast tego Ansible automatycznie ładuje zmienne z katalogów group_vars i host_vars. 🗂️

Jak ładowany jest group_vars

Plik w katalogu group_vars, nazwany tak jak grupa, jest stosowany do każdego hosta w tej grupie — nie trzeba go ręcznie dołączać.

# group_vars/webservers.yml
http_port: 80
worker_processes: 4

Grupa all

Specjalny plik group_vars/all.yml ustawia wartości domyślne dla każdego hosta w inventory, co doskonale sprawdza się w przypadku ustawień obowiązujących w całej organizacji.

# group_vars/all.yml
timezone: UTC
ntp_server: pool.ntp.org

Jak ładowany jest host_vars

Pliki w katalogu host_vars są nazywane tak jak pojedynczy host i dotyczą tylko tej maszyny, dlatego idealnie nadają się do ustawień specyficznych dla serwera.

# host_vars/web01.example.com.yml
server_id: 1
backup_disk: /dev/sdb

Nazwa musi się zgadzać

Nazwa pliku musi dokładnie odpowiadać nazwie grupy lub hosta występującej w inventory. W przeciwnym razie Ansible po cichu pominie ten plik.

Pliki lub katalogi

Każdy wpis może być pojedynczym plikiem .yml albo katalogiem zawierającym wiele plików. Ansible scala wszystkie pliki znajdujące się w katalogu.

group_vars/
  webservers/
    network.yml
    tuning.yml

Host ma pierwszeństwo przed grupą

Jeśli ta sama zmienna występuje w obu miejscach, host_vars wygrywa z group_vars. Bardziej szczegółowy zakres zawsze zastępuje szerszy.

Pierwszeństwo grup podrzędnych

Wśród grup grupa podrzędna zastępuje swoją grupę nadrzędną, dzięki czemu grupy zagnieżdżone zapewniają warstwowe i przewidywalne wartości domyślne.

Względem inventory

Ansible najpierw szuka tych katalogów obok pliku inventory, a także obok uruchamianego playbooka.

Odwołuj się do nich jak zwykle

W zadaniach używa się tych zmiennych tak samo jak każdej innej, za pomocą składni {{ }}. Zadanie nie musi wiedzieć, skąd pochodzi zmienna.

- name: Open the web port
  debug:
    msg: "Port is {{ http_port }}"

Czytelniejsze playbooki

Po wyprowadzeniu danych na zewnątrz playe opisują co należy zrobić, a group_vars i host_vars przechowują wartości specyficzne dla danego środowiska. 🎯

Szybkie sprawdzenie

Zmienna jest ustawiona zarówno w group_vars, jak i w host_vars. Która wartość ma pierwszeństwo?

Podsumowanie

Poznali Państwo sposób automatycznego ładowania group_vars i host_vars na podstawie nazw, a także zasadę, że host ma pierwszeństwo przed grupą, a grupa podrzędna przed nadrzędną. Dane należy wyprowadzać na zewnątrz, aby playbooki pozostały przejrzyste. ✅

Bezpłatny start

Ucz się YAML dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Katalogi group_vars i host_vars” jest bezpłatna?

Tak — pełny tekst „Katalogi group_vars i host_vars” 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 „Katalogi group_vars i host_vars”?

Porządkowanie zmiennych według hosta i grupy. Ć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 „Katalogi group_vars i host_vars”?

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

  1. Zalecany układ katalogów
  2. Katalogi group_vars i host_vars
  3. Dzielenie playbooków za pomocą import i include
  4. Nazewnictwo, komentarze i styl na dużą skalę
← Powrót do Ansible Academy