Junior — Middle
Czy możesz pokazać przykład użycia szablonów Jinja2 w Ansible do dynamicznego generowania plików konfiguracyjnych?
sobes.tech AI
Odpowiedź od AI
W Ansible szablony Jinja2 są często używane do dynamicznego generowania plików konfiguracyjnych na podstawie zmiennych. Na przykład można utworzyć szablon nginx.conf.j2:
server {
listen {{ nginx_port }};
server_name {{ server_name }};
location / {
proxy_pass http://{{ backend_host }}:{{ backend_port }};
}
}
W playbooku można użyć modułu template do wygenerowania końcowego pliku:
- hosts: webservers
vars:
nginx_port: 80
server_name: example.com
backend_host: 127.0.0.1
backend_port: 8080
tasks:
- name: Wygeneruj konfigurację nginx
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
Taka metoda pozwala łatwo zmieniać parametry konfiguracji bez konieczności edytowania samych plików, korzystając z zmiennych Ansible.