Szukaj…


Przegląd

W Ansible playbook to plik YAML zawierający definicję wyglądu serwera. W podręczniku określasz, jakie działania powinien podjąć Ansible, aby uzyskać żądany stan serwera. Wykonane zostanie tylko to, co zdefiniujesz.

To jest podstawowa instrukcja Ansible, która instaluje git na każdym hoście należącym do grupy web :

---
- name: Git installation
  hosts: web
  remote_user: root
  tasks: 
    - name: Install Git
      apt: name=git state=present

Struktura poradnika

Format podręcznika jest dość prosty, ale ścisły pod względem odstępów i układu. Poradnik składa się z zabaw. Gra jest kombinacją hostów docelowych i zadań, które chcemy zastosować na tych hostach, więc rysunek podręcznika jest następujący:

Obrazowa reprezentacja podręcznika Ansible

Aby wykonać ten poradnik, po prostu uruchamiamy:

ansible-playbook -i hosts my_playbook.yml

Struktura gry

Oto prosta gra:

- name: Configure webserver with git
  hosts: webserver
  become: true
  vars:
    package: git
  tasks:
    - name: install git
      apt: name={{ package }} state=present

Jak powiedzieliśmy wcześniej, każda gra musi zawierać:

  • Zestaw hostów do skonfigurowania

  • Lista zadań do wykonania na tych hostach

Pomyśl o grze jako o rzeczy, która łączy hosty z zadaniami. Oprócz określania hostów i zadań, gra obsługuje również szereg ustawień opcjonalnych. Dwa typowe to:

  • name : komentarz opisujący grę. Ansible wydrukuje to, gdy rozpocznie się odtwarzanie
  • vars : lista zmiennych i wartości

Tagi

Gra zawiera kilka zadań, które można oznaczyć:

- name: Install applications
  hosts: all
  become: true
  tasks:
    - name: Install vim
      apt: name=vim state=present
      tags:
        - vim
    - name: Install screen 
      apt: name=screen state=present
      tags:
        - screen

Zadanie z tagiem „vim” zostanie uruchomione, gdy w tagach podano „vim”. Możesz określić dowolną liczbę tagów. Przydatne jest używanie tagów takich jak „install” lub „config”. Następnie możesz uruchomić playbook z podaniem tagów lub pominąć tagi. Dla

ansible-playbook my_playbook.yml --tags "tag1,tag2"
ansible-playbook my_playbook.yml --tags "tag2"
ansible-playbook my_playbook.yml --skip-tags "tag1"

Domyślnie Ansible uruchamia wszystkie tagi



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow