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.
mkdir playbook
cd playbook
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ć —
--- 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
--- # 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:).