Junior
Nomeie as formas de atribuição de variáveis no Ansible.
sobes.tech IA
Resposta da IA
As variáveis no Ansible podem ser definidas de várias formas:
- Ficheiros de inventário: em ficheiros
hostsou em ficheiros separados nos diretóriosgroup_varsehost_vars. - Linha de comando: usando a opção
--extra-varsou-e. - Playbooks: nas secções
vars,vars_files,include_vars. - Roles: nos diretórios
varsou através de parâmetros ao chamar o role. - Ficheiros de configuração do Ansible: em
ansible.cfg, embora não seja recomendado para valores específicos. - Inventário dinâmico: através de scripts que geram inventário e variáveis em tempo de execução.
- Vaults: para armazenar dados secretos.
Prioridade de atribuição de variáveis no Ansible do mais baixo para o mais alto:
ansible.cfg- Ficheiros de inventário (
host_vars,group_vars) - Roles (de
default, depois devars) - Secção
varsno playbook - Variáveis passadas via linha de comando
Exemplo de atribuição de variável no inventário:
# inventory.ini
[webservers]
web1 ansible_host=192.168.1.100
[webservers:vars]
http_port=80
Exemplo de atribuição de variável no playbook:
# playbook.yml
---
- name: Configurar servidor web
hosts: webservers
vars:
greeting: "Hello, World!"
tasks:
- name: Imprimir saudação
debug:
msg: "{{ greeting }}"
Exemplo de atribuição de variável via linha de comando:
ansible-playbook playbook.yml -e "user=admin"