Junior — Middle
Môžeš ukázať príklad použitia šablón Jinja2 v Ansible na dynamickú generáciu konfiguračných súborov?
sobes.tech AI
Odpoveď od AI
V Ansible sa šabloni Jinja2 často používajú na dynamické generovanie konfiguračných súborov na základe premenných. Napríklad môžete vytvoriť šablónu nginx.conf.j2:
server {
listen {{ nginx_port }};
server_name {{ server_name }};
location / {
proxy_pass http://{{ backend_host }}:{{ backend_port }};
}
}
V playbooku môžete použiť modul template na generovanie finálneho súboru:
- hosts: webservers
vars:
nginx_port: 80
server_name: example.com
backend_host: 127.0.0.1
backend_port: 8080
tasks:
- name: Vygenerovať konfiguráciu nginx
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
Tento prístup umožňuje ľahko meniť konfiguračné parametre bez priamej úpravy súborov, pomocou premenných Ansible.