Junior — Middle
¿Puedes mostrar un ejemplo de uso de plantillas Jinja2 en Ansible para la generación dinámica de archivos de configuración?
sobes.tech AI
Respuesta de la IA
En Ansible, las plantillas Jinja2 se utilizan a menudo para generar dinámicamente archivos de configuración basados en variables. Por ejemplo, puedes crear una plantilla nginx.conf.j2:
server {
listen {{ nginx_port }};
server_name {{ server_name }};
location / {
proxy_pass http://{{ backend_host }}:{{ backend_port }};
}
}
En el playbook, puedes usar el módulo template para generar el archivo final:
- hosts: webservers
vars:
nginx_port: 80
server_name: example.com
backend_host: 127.0.0.1
backend_port: 8080
tasks:
- name: Generar configuración de nginx
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
Este enfoque permite cambiar fácilmente los parámetros de configuración sin editar los archivos mismos, usando variables de Ansible.