Junior — Middle
Můžeš ukázat příklad použití šablon Jinja2 v Ansible pro dynamickou tvorbu konfiguračních souborů?
sobes.tech AI
Odpověď od AI
V Ansible se šablony Jinja2 často používají k dynamickému generování konfiguračních souborů na základě proměnných. Například můžete vytvořit šablonu nginx.conf.j2:
server {
listen {{ nginx_port }};
server_name {{ server_name }};
location / {
proxy_pass http://{{ backend_host }}:{{ backend_port }};
}
}
V playbooku můžete použít modul template k vygenerování finálního souboru:
- hosts: webservers
vars:
nginx_port: 80
server_name: example.com
backend_host: 127.0.0.1
backend_port: 8080
tasks:
- name: Vygenerovat konfiguraci nginx
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
Tento přístup umožňuje snadno měnit konfigurační parametry bez úpravy samotných souborů, pomocí proměnných Ansible.