Sobes.tech
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.