Ansible. Obsługa usług w Linuksie.
Odnośnie linuksa można zaryzykować stwierdzenie, że usługi są kwintesencją tegoż systemu. Jak można się spodziewać i nasze Ansible daje możliwość łatwego zarządzania usługami pod systemem operacyjnym.
Wspomnę, że tu skupiamy się na obsłudze usług pod systemem Linux i wykorzystujemy moduł Service. Natomiast do systemu Windows służy moduł win_service i opowiem o nim w innym artykule.
Wcześniej zainstalowaliśmy sobie popularny serwer www – nginx. Teraz bardzo chcemy uruchomić ten serwis a także ustawić go tak, aby uruchamiał się razem systemem.
Zacznij od stworzenia nowego playboya w odpowiednim katalogu. Otwórz ulubiony edytor i wpisz w nim poniższy kod:
--- - name: obsługa usługi hosts: web01 become: true - tasks - name: uruchomienie serwisu www nginx service: name=nginx stare=started - name: włączenie usługi razem z systemem service: name=nginx enabled=yes
Zapisz kod w pliku yaml pod dowolną, acz czytelną nazwą. Na przykład nginx_start_service.yml
Przeanalizujemy, co mamy w tym przepisie.
W 1. części opisaliśmy playbook (name). Dalej wskazaliśmy docelowy host (hosts) i zadeklarowaliśmy, że do wykonania będą użyte podwyższone uprawnienia (become).
W 2. części rozpoczęliśmy od deklaracji zadań (tasks), opisaliśmy też pierwsze zdanie, poleceniem service wskazaliśmy też, że skorzystamy z modułu do obsługi usług w Linuksie. Określiliśmy jaki serwis chcemy (name) i jaki jego stan (started) ma być po wykonaniu playbooka.
W 3. części również określamy nazwę zdania i za pomocą moduły service wskazaliśmy nazwę usługi którą ma być włączona (enabled) razem z systemem.
Nazwy podaje w języku polskim, jednak w prawdziwym świecie używaj zawsze anglojęzycznych nazw.
Wykonaj ten przepis poleceniem ansible-playbook nginx_service_start.yml
Warto wspomnieć, że w playbooku anisbla określamy stan jaki chcemy by miała dana usługa, na przykład uruchomiona (started), więc gdy wykonany raz jeszcze ten sam playbook (a aktualnie usługa jest uruchomiona i włączona) to ansible nie będzie próbował.