Junior — Middle
Pouvez-vous montrer un exemple d'utilisation des modèles Jinja2 dans Ansible pour la génération dynamique de fichiers de configuration?
sobes.tech IA
Réponse de l'IA
Dans Ansible, les modèles Jinja2 sont souvent utilisés pour générer dynamiquement des fichiers de configuration à partir de variables. Par exemple, vous pouvez créer un modèle nginx.conf.j2:
server {
listen {{ nginx_port }};
server_name {{ server_name }};
location / {
proxy_pass http://{{ backend_host }}:{{ backend_port }};
}
}
Dans le playbook, vous pouvez utiliser le module template pour générer le fichier final:
- hosts: webservers
vars:
nginx_port: 80
server_name: example.com
backend_host: 127.0.0.1
backend_port: 8080
tasks:
- name: Générer la configuration nginx
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
Cette approche permet de modifier facilement les paramètres de configuration sans modifier directement les fichiers, en utilisant des variables Ansible.