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.