Sobes.tech
Junior — Middle

Tudsz példát mutatni arra, hogyan használhatók a Jinja2 sablonok az Ansible-ben a konfigurációs fájlok dinamikus generálására?

sobes.tech MI

Válasz az MI-től

Az Ansible-ben a Jinja2 sablonokat gyakran használják dinamikusan generált konfigurációs fájlok létrehozására változók alapján. Például létrehozhatsz egy nginx.conf.j2 sablont:

server {
    listen {{ nginx_port }};
    server_name {{ server_name }};

    location / {
        proxy_pass http://{{ backend_host }}:{{ backend_port }};
    }
}

A playbookban a template modult használhatod a végső fájl generálására:

- hosts: webservers
  vars:
    nginx_port: 80
    server_name: example.com
    backend_host: 127.0.0.1
    backend_port: 8080
  tasks:
    - name: nginx konfiguráció generálása
      template:
        src: nginx.conf.j2
        dest: /etc/nginx/nginx.conf

Ez a megközelítés lehetővé teszi a konfigurációs paraméterek könnyű módosítását anélkül, hogy közvetlenül szerkesztenéd a fájlokat, az Ansible változók használatával.