Esistono centinaia di strumenti che semplificano la vita delle operazioni di rete, uno dei più popolari è Ansible (open source). Vi forniamo un esempio di come utilizzare Ansible per automatizzare i backup dei dispositivi Audiocodes, KEMP, Zyxel o Fortigate.
Si può avere una pura installazione di Ansible o Ansible Tower in cima. Tower consente di gestire i playbook in una GUI Visual Web, di creare flussi di lavoro, di impostare le credenziali e di programmare i lavori da eseguire regolarmente.
Torre AWX / Ansible
AWX è una versione gratuita di Ansible Tower di RedHat:

It utilizza immagini di container docker e può essere distribuito su diverse piattaforme, qui c'è un CentOS v7. Una volta distribuiti, ci sono contenitori che eseguono attività, web, database, coda e cache:
Poiché le immagini di docker sono gestite da RedHat, non è necessario approfondire il funzionamento di it , ma basta sfruttare la bella interfaccia web e iniziare lo sviluppo.
Quindi, vogliamo creare un lavoro e un modello per il backup di Audiocodes SBC - it sarà basato su un playbook (codice YAML ansible)
Il codice del playbook può essere simile a questo:
It apre Audiocodes SBC tramite API REST con un utente predefinito (memorizziamo le credenziali nel database AWX in modo sicuro e non nel testo aperto YAML) e salva il file ini di backup SBC in una cartella e aggiunge il timestamp al nome del file. Le informazioni API di Audiocodes sono disponibili qui: https://www.audiocodes.com/media/13528/rest-api-for-mediant-devices-ver-72.pdf
Flussi di lavoro in AWX
In AWX possiamo creare flussi di lavoro più complessi in modo visivo:
Ecco un esempio di backup e di copia dei file su un NAS per l'archiviazione e la conservazione a lungo termine. Infine, programmeremo l'esecuzione di questo lavoro su base mensile. In caso di fallimento del lavoro, possiamo impostare il sistema in modo che invii un'e-mail a un amministratore.
Allo stesso modo possiamo eseguire il backup del bilanciatore di carico KEMP:
Switch Zyxel dorati
Fortigate REST API richiede il firmware 6.x e le informazioni necessarie sono disponibili qui: https://docs.fortinet.com/document/fortimail/6.0.4/rest-api-reference.
Non perdete tempo utilizzando fortios_config e FW 5.x - it non è un metodo molto stabile.
Tutta la potenza di Ansible è la scalabilità: una volta creato un codice unitario per una funzione, è possibile moltiplicarne l'uso, delegarne il funzionamento e gestire in questo modo molti dispositivi. Per l'uso in produzione, è ovviamente necessario avere piattaforme DEV e PROD isolate, mantenere il playbook in un ambiente con versioning, ecc.
Buon DevOps a tutti!
Andiamo più lontano insieme!
Per una semplice domanda o un suggerimento, siamo a vostra disposizione per rispondere a it via e-mail o per telefono.