Sobes.tech
Junior

Uveďte způsoby přiřazování proměnných v Ansible.

sobes.tech AI

Odpověď od AI

Proměnné v Ansible lze definovat několika způsoby:

  • Soubory inventáře: v souborech hosts nebo v samostatných souborech ve složkách group_vars a host_vars.
  • Příkazový řádek: pomocí přepínače --extra-vars nebo -e.
  • Playbooky: v sekcích vars, vars_files, include_vars.
  • Role: ve složkách vars nebo přes parametry při volání role.
  • Konfigurační soubory Ansible: v ansible.cfg, nicméně se nedoporučuje pro specifické hodnoty.
  • Dynamický inventář: skripty, které generují inventář a proměnné za běhu.
  • Vaults: pro ukládání tajných dat.

Priorita přiřazení proměnných v Ansible od nejnižší po nejvyšší:

  1. ansible.cfg
  2. Soubory inventáře (host_vars, group_vars)
  3. Role (z default, poté z vars)
  4. Sekce vars v playbooku
  5. Proměnné předané přes příkazový řádek

Příklad přiřazení proměnné v inventáři:

# inventory.ini
[webservers]
web1 ansible_host=192.168.1.100

[webservers:vars]
http_port=80

Příklad přiřazení proměnné v playbooku:

# playbook.yml
---
- name: Nakonfigurovat webserver
  hosts: webservers
  vars:
    greeting: "Hello, World!"
  tasks:
    - name: Vytisknout pozdrav
      debug:
        msg: "{{ greeting }}"

Příklad přiřazení proměnné přes příkazový řádek:

ansible-playbook playbook.yml -e "user=admin"