Introducción
Las variables de grupo en Ansible permiten definir variables que se aplican a grupos completos de hosts. Proporcionan una manera de personalizar el comportamiento de Ansible para grupos de hosts específicos y configurar ajustes comunes. Este desafío te enseñará a definir y utilizar variables de grupo en tu inventario de Ansible.
Definición de variables de grupo
Comencemos aprendiendo a definir variables de grupo en tu inventario de Ansible. Esta es una habilidad fundamental que te permitirá gestionar configuraciones de manera eficiente a través de diferentes grupos de hosts.
Tareas
Define variables de grupo para grupos de hosts específicos:
- Crea un archivo llamado
inventoryen el directorio/home/labex/projectcon el siguiente contenido:- Define los grupos llamados
webydb - Añade la variable
http_port=80bajo la sección[web:vars] - Añade la variable
db_port=3306bajo la sección[db:vars] - Utilizando
localhostpor simplicidad, añádelo tanto al grupowebcomo al grupodb
- Define los grupos llamados
Requisitos
- Ansible está preinstalado
- La conectividad SSH a los hosts gestionados está configurada
Ejemplos
Después de completar este paso, deberías poder utilizar el módulo ping de Ansible para comprobar el estado de los hosts en el grupo web:
ansible web -i inventory -m ping
Salida de ejemplo:
localhost | SUCCESS => {
"changed": false,
"ping": "pong"
}
Acceso a variables de grupo en Playbooks
Ahora que hemos definido nuestras variables de grupo, pasemos al siguiente paso crucial: acceder a estas variables en los playbooks de Ansible. Esta habilidad te permitirá crear playbooks dinámicos y flexibles que pueden adaptarse a diferentes grupos de hosts.
Tareas
Crea un nuevo archivo de playbook llamado
my-playbook.yamlen el directorio/home/labex/projectcon el siguiente contenido:- Establece los
hostsenweb - Utiliza el módulo
debugpara acceder y mostrar la variable de grupohttp_port
- Establece los
Ejecuta el playbook de Ansible usando el comando
ansible-playbook, especificando el archivo de inventario.
Requisitos
- Ansible está preinstalado
- La conectividad SSH a los hosts gestionados está configurada
- El archivo de inventario está creado y configurado
Ejemplos
Después de completar este paso, al ejecutar el playbook deberías obtener una salida similar a esta:
PLAY [Print group variables] **************************************************
TASK [Gathering Facts] ********************************************************
ok: [localhost]
TASK [Print http_port variable] ************************************************
ok: [localhost] => {
"http_port": 80
}
PLAY RECAP *********************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Resumen
¡Felicidades! Has completado el desafío de Variables de grupo en Ansible. Has aprendido a definir variables de grupo en tu inventario y a acceder a ellas en tus playbooks. Estas habilidades forman una parte crucial del uso eficiente de Ansible, permitiéndote gestionar y personalizar configuraciones para diferentes grupos de hosts dentro de tu infraestructura.
Al utilizar las variables de grupo de manera efectiva, puedes crear flujos de trabajo de automatización más flexibles y modulares. A medida que continúes tu viaje con Ansible, experimenta con diferentes variables de grupo y explora cómo pueden mejorar tus procesos de automatización. Recuerda, ¡la práctica es la clave para dominar estos conceptos!


