Wie kommen Ansible Templates zur Anwendung und wieso ist der Ansible Loop so wichtig?
Come si usano i template di Ansible e perché il Loop di Ansible è così importante?
I playbook utilizzano un semplice linguaggio descrittivo basato su YAML e sui modelli Jinja. I template possono essere ereditati con Jinja2. Gli elementi generalmente validi possono essere definiti in un template di base. Parti di modelli figli possono essere sovrascritte in cosiddetti "blocchi". Per il sito web viene utilizzato un modello Ansible specifico. Le variabili incluse nella sintassi di Jinja vengono poi compilate da Ansible quando il file viene copiato nella posizione desiderata utilizzando il modulo template. I file template hanno l'estensione .j2. Il file template di Ansible e il foglio di stile vengono quindi utilizzati per creare una struttura di cartelle esatta. Il compito seguente è simile al riavvio del servizio firewall: se il file di indice o il foglio di stile cambiano durante la distribuzione, è possibile riavviare nginx o modificare i file consegnati durante il funzionamento. L'ultima operazione dovrebbe ora impostare un messaggio come "Message-of-the-day", che viene visualizzato quando il server si connette tramite SSH. Anche in questo caso, il modulo template di Ansible viene utilizzato per copiare il file desiderato in etc/motd. Viene quindi aggiunto un file template motd.j2. Le variabili ansible_* provengono dai fatti dell'host allo stesso modo del template del sito web. Tuttavia, questo non vale per webserver_name, poiché questa variabile deve essere diversa per ogni server e deve essere definita di conseguenza.
Ogni modulo di Ansible può essere scritto in modo indipendente e in qualsiasi linguaggio di programmazione. I moduli devono essere idempotenti nel senso di un "ciclo di Ansible". Ciò significa che anche se un processo viene ripetuto più volte, ad esempio per il ripristino da un guasto, il sistema viene sempre riportato allo stesso stato.