Kurs Ansible – Instalacja paczki dla konkretnej dystrybucji w zależności od spełnienia warunku CZ.7

Ansible pozwala na zastosowanie warunków prawie tak samo jak języki programowania. Przy pomocy warunków możesz za jednym zamachem zainstalować paczki oprogramowania przeznaczone dla kilku różnych systemów operacyjnych, która działają w twoim środowisku.

Właściwa paczka instalacyjna w Ansible Nieco Teorii…

Budowa takiego scenariusza(playbooka) jest dość prosta, musisz wykorzystać dwa słowa kluczowe w sekcji tasks:

  • yum/apt– wykona instalację wskazanej paczki z oprogramowaniem, w zależności od rodziny systemu operacyjnego (RedHat/Centos lub Debian/Ubuntu),
  • when – jeżeli spełniony będzie warunek, np. system na zdalnej maszynie będzie właściwy dla warunku w klauzuli when

Tak więc ansible kolejny raz jest w stanie bardzo skrócić pracę w środowisku, oczywiście o ile cały scenariusz nie zawiera błędów.

Praktyczne Przykłady

W tym wpisie pokaże bardzo podstawowe zastosowanie ansible ponieważ o każdym module czy metodzie użycia można napisać całkiem grubą książkę.

Skupię się na instalacji serwera www na maszynach testowych oraz pokażę rozszerzenie tej metody, aby instalację przeprowadzić na systemie operacyjnym w konkretnej wersji.

Ponownie opiszę w kilku słowach sekcję tasks.

  • name – dowolna nazwa, która opisuje wykonywane dalej kroki,
  • yum – uruchomienie instalacji httpd, który będzie w stanie zainstalowany(present),
  • when – instalacja zostanie wykonana o ile zdalny system będzie oparty o rodzinę RedHat nawet jeżeli instalacja będzie odbywała się na CentOS

Analogicznie przebiega instalacja dla systemów Debian/Ubuntu, oczywiście zamiast yum musisz użyć apt.

Jeżeli na żadnej ze wskazanych maszyn nie ma odpowiedniej rodziny systemów operacyjnych ta część instrukcji zostanie pominięta(skipping) przy wykonaniu scenariusza.

Dobrze, co w przypadku gdy konieczne jest jeszcze głębsze rozdzielenie instalacji? Co gdy na maszynach znajdują się różne wersje systemów? Ansible i na to ma sposób, wystarczy dodać ansible_distribution_version == „version”. Dzięki temu instalacja zostanie zastosowana jedynie dla konkretnej rodziny oraz konkretnej wersji systemu.Wersja systemu musi zostać podana dokładnie, jeżeli Centos występuje w wersji 7.7 to tak należy opisać wersję .

Najlepszym narzędziem do sprawdzenia wersji systemu jest oczywiście ansible, poniższe polecenie rozwieje wszelkie wątpliwości. W odpowiedzi otrzymasz wersję systemu operacyjnego na wszystkich wskazanych maszynach.

Jeżeli instalacja ma zostać przeprowadzona na Centos 7 a znajdują się również maszyny z wersją Centos 6 zostaną one pominięte.

Obrazek posiada pusty atrybut alt; plik o nazwie image-17-1024x259.png

Podsumowanie

Kolejna automatyzacja, która pozwoli na wdrożenie paczek aplikacji, niezależnie od typu oraz wersji systemu operacyjnego.To tyle w tym wpisie zapraszam na kolejny, w którym przedstawię działanie modułu setup w Ansible.


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:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT