W tym wpisie przedstawię podstawowe informacje na temat zmiennych, które można wykorzystać przy budowie playbook’ów. Dzięki czemu możliwe będzie wdrożenie wieloplikowości przy budowie playbook’ów.
Ansible Zmienne Przygotowanie
Na początku należy przygotować strukturę katalogów przy przygotowania playbook’a.
W głównym katalogu playbook utwórz dodatkowy katalog conf.
1 |
mkdir playbook |
1 |
cd playbook |
1 |
mkdir conf |
Wdrożenie zmiennych w Ansible
Utwórz nowy plik webdefaults.yml w katalogu conf. W jego wnętrzu dodaj trzy wiersze, które obrazują zmienne. Należy na początku pliku dodać —
1 2 3 4 |
--- apache_version: 2.6 apache_mod_req: mod_ssl pkg_lynx: lynx |
Powróć do katalogu playbook i wewnątrz jego utwórz główny plik o nazwie zmienne.yml. Dzięki takiemu podejściu możliwe jest zainstalowanie dowolnego programu, który znajdzie się jako parametr w pliku webdefaults.yml, bez konieczności zmiany kodu w głównym pliku zmienne.yml
1 2 3 4 5 6 7 8 9 10 11 |
--- # Wstęp do zmiennych - hosts: all user: ansible become: yes connection: ssh gather_facts: no vars_files: #uruchomienie zmiennych plikowych - conf/webdefaults.yml #wczytanie zmiennych z pliku tasks: - name: Install the Lynx Web Browser action: yum name={{ pkg_lynx }} state=installed # użycie zmiennej pkg_lynx do zainstalowania przeglądarki lynx |
Podsumowanie
Zmienne jak widzisz przydają się wszędzie, ułatwiają działanie również w Ansible, aby uelastycznić pisanie łatwych w zarządzaniu oraz skomplikowanych skryptów.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).