Pasar variables a los playbooks de Ansible
Ahora que tienes una comprensión básica de las variables de Ansible, exploremos cómo pasar variables a tus playbooks de Ansible. Hay varias formas de hacer esto:
Argumentos de la línea de comandos
Puedes pasar variables a tu playbook utilizando la opción -e
o --extra-vars
cuando ejecutes el comando ansible-playbook
.
ansible-playbook site.yml -e "app_version=2.2 db_host=10.0.0.60"
Archivos de variables
Puedes definir variables en archivos YAML separados y pasarlas a tu playbook utilizando la opción --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
Variables del inventario
Como se mencionó en la sección anterior, puedes definir variables en tu archivo de inventario y estarán disponibles para tu 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
Variables del playbook
También puedes definir variables dentro de tu playbook utilizando la palabra clave vars
.
- hosts: webservers
vars:
app_name: MyApp
app_version: 2.2
db_host: 10.0.0.00
tasks:
- name: Print variables
debug:
msg: "App name: {{ app_name }}, App version: {{ app_version }}, db host: {{ db_host }}"
Al entender estas diferentes formas de pasar variables a tus playbooks de Ansible, puedes hacer que tu automatización sea más flexible y adaptable a diferentes entornos y requisitos.