Junior — Middle
Kun je een voorbeeld laten zien van het gebruik van Jinja2-sjablonen in Ansible voor dynamische generatie van configuratiebestanden?
sobes.tech AI
Antwoord van AI
In Ansible worden Jinja2-sjablonen vaak gebruikt om configuratiebestanden dynamisch te genereren op basis van variabelen. Bijvoorbeeld, je kunt een sjabloon nginx.conf.j2 maken:
server {
listen {{ nginx_port }};
server_name {{ server_name }};
location / {
proxy_pass http://{{ backend_host }}:{{ backend_port }};
}
}
In het playbook kun je de module template gebruiken om het uiteindelijke bestand te genereren:
- hosts: webservers
vars:
nginx_port: 80
server_name: example.com
backend_host: 127.0.0.1
backend_port: 8080
tasks:
- name: Genereer nginx-configuratie
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
Deze aanpak maakt het gemakkelijk om configuratieparameters te wijzigen zonder de bestanden zelf te bewerken, door gebruik te maken van Ansible-variabelen.