Szybka pomoc

Ściąga ze struktury i projektowania ról Ansible

Krótki przewodnik po układzie katalogów ról Ansible, zadaniach, handlerach, zmiennych, domyślnych wartościach, szablonach i zależnościach meta.

· Opublikowano

Role w Ansible zapewniają ustandaryzowany sposób pakowania zadań, handlerów, zmiennych i szablonów w celu ich łatwego ponownego użycia.

🔗 Related: Podstawowa ściąga z Ansible · Przewodnik szybkiego startu Ansible · Przykłady playbooków Ansible

Standardowy układ katalogów roli

Wygeneruj strukturę roli za pomocą ansible-galaxy init role_name:

roles/
  common/
    tasks/
      main.yml          # Główny punkt wejścia dla zadań wykonywanych przez rolę
    handlers/
      main.yml          # Handlery wywoływane przez notify
    templates/          # Szablony Jinja2 (.j2) używane przez moduł template
    files/              # Pliki statyczne i skrypty przesyłane modułem copy
    vars/
      main.yml          # Zmienne o wysokim priorytecie specyficzne dla roli
    defaults/
      main.yml          # Domyślne zmienne o niskim priorytecie (nadpisywalne)
    meta/
      main.yml          # Zależności roli i metadane autora

Używanie ról w Playbookach

---
- name: Apply common and webserver roles
  hosts: webservers
  become: true
  roles:
    - role: common
    - role: nginx
      vars:
        nginx_port: 8080

Priorytet zmiennych w rolach

Zmienne w defaults/main.yml mają najniższy priorytet w Ansible, stanowiąc bezpieczne wartości domyślne łatwe do nadpisania.

Zmienne w vars/main.yml mają wysoki priorytet i służą do wewnętrznej logiki roli.


Źródła

Powiązane tematy