Ansible. Pierwsza instalacja pakietu.

Dziś spróbujemy zainstalować jeden z popularniejszych serwisów WWW – nginx. Użyjemy do tego właśnie Ansible i jego moduł Packaging. A wszystko to na hoście z systemem Centos w wersji 8.

Oprogramowanie nginx nie jest dostępne w standardowych repozytoriach Centosa więc skorzystamy z repozytorium EPEL (Extra Packages for Enterprise Linux). Jeśli nie masz ich dodatnich w systemie to możemy też łatwo za pomocą playbooka.
Zacznij od utworzenia playbooka, najlepiej w oddzielnym katalogu gdzie będziesz przechowywać wszystkie playbooki. Otwórz ulubiony edytor i wprowadź w nim poniższe polecenia. Pamiętaj że spacje – wcięcia mają tu znaczenie.

---
- name: instalacja serwera www
   hosts: web01
   become: true

   tasks:
   - name: dodatnie repozytorium
      yum: name=epel-release state=present

  - name: instalacja nginx
    yum: name=nginx state=present

Zapisz ten plik po nazwa ngnix.yml i wykonaj poleceniem
ansible-playbook nginx.yml
Jako wynik powinieneś zobaczyć coś jak na obrazku poniżej. 

Przeanalizujmy co robi ten przepis.
W 1. części opisaliśmy playbook (name). Jest to ważne i zawsze uczulam, aby wyrobić w sobie nawyk nazywania, opisywania każdego kroku, nawet jeśli polecenie jest jasne. Dzięki czemu dbamy o standaryzowany i czytelny kod. 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, Polecenie yum powiedzieliśmy że użyjemy odpowiedniego managera pakietu i przekazaliśmy dwa parametry – nazwę pakietu (epel-release) i stan jaki sobie życzymy dla tegoż pakietu (present). W ten sposób dodaliśmy nowe repozytoria. 

Ostatnia 3. cześć jest bardzo podobna do drugiej z tym ze tu już instalujemy nginxa.

To wszystko. Te kilka linijek magicznie sprawiło, że na docelowym hoście lub hostach masz już w repozytoriach EPEL i zainstalowane oprogramowanie.

Tags: