Stosowanie ról i przekazywanie zmiennych ról
Dołączanie roli i parametryzowanie jej.
Stosowanie ról i przekazywanie zmiennych ról to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 4 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 DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Zastosuj rolę za pomocą roles:
Najprostszym sposobem użycia roli jest klucz roles w play. Należy podać nazwy ról, a Ansible uruchomi je w podanej kolejności.
- hosts: web
roles:
- nginx
- firewallRole są uruchamiane przed zadaniami
Role wymienione pod kluczem roles wykonują się przed zadaniami należącymi do tego samego play. Należy pamiętać o tej kolejności podczas łączenia ról i zadań.
Przekazuj zmienne bezpośrednio
Aby dostosować rolę, należy przekazać zmienne w miejscu jej zastosowania. Ansible przekaże je do roli, zastępując jej wartości domyślne.
roles:
- role: nginx
nginx_port: 8080Klucz role: mówi to wprost
Podczas przekazywania zmiennych należy użyć klucza role do określenia nazwy roli, a następnie dodać zmienne jako klucze na tym samym poziomie.
- role: postgres
db_name: shop
db_user: adminWartości domyślne są rozwiązaniem awaryjnym
Jeśli nie zostanie przekazana żadna zmienna, rola użyje wartości z pliku defaults/main.yml. Dzięki temu każda rola działa od razu po instalacji.
Nadpisz tę samą rolę dwa razy
Jedną rolę można zastosować wielokrotnie z różnymi zmiennymi, na przykład konfigurując dwie instancje bazy danych za pomocą jednej roli.
Zmienne grup docierają także do ról
Zmienne z folderów group_vars i host_vars są automatycznie przekazywane do ról zastosowanych wobec tych hostów — nie trzeba przekazywać ich bezpośrednio.
vars_files pomagają zachować porządek w playach
Ustawienia roli można przenieść z playa do osobnego pliku za pomocą vars_files, dzięki czemu playbook pozostaje krótki i czytelny.
vars_files:
- web_settings.ymlinclude_role uruchamia rolę w trakcie playa
Jeśli rola ma zostać uruchomiona w środku listy zadań, należy użyć include_role jako zadania, aby zastosować ją dynamicznie dokładnie w tym miejscu.
- name: Set up nginx
ansible.builtin.include_role:
name: nginxUdokumentuj akceptowane zmienne
Dobra rola wymienia w pliku README zmienne, których oczekuje. Jasno określone dane wejściowe ułatwiają bezpieczne ponowne użycie roli przez dowolną osobę.
Jedna rola, wiele serwerów
Tę samą sparametryzowaną rolę można zastosować do wielu hostów, dostosowując każdy z nich za pomocą innych zmiennych. To wielokrotne użycie bez przepisywania ani jednego zadania.
Szybkie sprawdzenie
Proszę zastanowić się, jak nadpisać wartość domyślną roli podczas jej stosowania.
Podsumowanie
Role należy stosować za pomocą klucza roles, przekazywać zmienne bezpośrednio, aby nadpisywać wartości domyślne, oraz ponownie wykorzystywać jedną sparametryzowaną rolę na wielu hostach. 🚀
Często zadawane pytania
Czy lekcja „Stosowanie ról i przekazywanie zmiennych ról” jest bezpłatna?
Tak — pełny tekst „Stosowanie ról i przekazywanie zmiennych ról” 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 DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Co nauczysz się w „Stosowanie ról i przekazywanie zmiennych ról”?
Dołączanie roli i parametryzowanie jej. Ćwiczysz DevOps Bootcamp 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ąć DevOps Bootcamp?
Nie wymagamy żadnego doświadczenia. DevOps Bootcamp 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 4 z 4.
Ile czasu zajmuje lekcja „Stosowanie ról i przekazywanie zmiennych ról”?
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 DevOps Bootcamp?
Tak. Każda lekcja DevOps Bootcamp 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
- Dlaczego role: od monolitu do modułów
- Budowa katalogu roli
- Tworzenie szkieletu roli za pomocą ansible-galaxy init
- Stosowanie ról i przekazywanie zmiennych ról