Passagem de Variáveis para Playbooks do Ansible
Agora que tem um conhecimento básico das variáveis do Ansible, vamos explorar como passar variáveis para os seus playbooks do Ansible. Existem várias maneiras de o fazer:
Argumentos da Linha de Comando
Pode passar variáveis para o seu playbook usando a opção -e ou --extra-vars ao executar o comando ansible-playbook.
ansible-playbook site.yml -e "app_version=2.2 db_host=10.0.0.60"
Ficheiros de Variáveis
Pode definir variáveis em ficheiros YAML separados e passá-los para o seu playbook usando a opção --extra-vars.
ansible-playbook site.yml --extra-vars "@vars.yml"
## vars.yml
app_name: MyApp
app_version: 2.2
db_host: 10.0.0.60
Variáveis do Inventário
Como mencionado na secção anterior, pode definir variáveis no seu ficheiro de inventário e elas estarão disponíveis para o seu playbook.
## inventory.yml
all:
hosts:
webserver1:
ansible_host: 192.168.1.100
app_version: 2.0
webserver2:
ansible_host: 192.168.1.101
app_version: 2.1
Variáveis do Playbook
Também pode definir variáveis dentro do seu playbook usando a palavra-chave vars.
- hosts: webservers
vars:
app_name: MyApp
app_version: 2.2
db_host: 10.0.0.60
tasks:
- name: Imprimir variáveis
debug:
msg: "Nome da aplicação: {{ app_name }}, Versão da aplicação: {{ app_version }}, Host do BD: {{ db_host }}"
Compreendendo estas diferentes formas de passar variáveis para os seus playbooks do Ansible, pode tornar a sua automação mais flexível e adaptável a diferentes ambientes e requisitos.