Moduli di archivio e non archivi in ​​Ansible

Moduli di archivio e non archivi in ​​Ansible

Sappiamo già come comprimere e disprezzare i file o le cartelle in Windows. Ma oggi impariamo come compromettiamo i file e le cartelle utilizzando lo strumento Ansible. Per comprendere entrambe le terminologie di Ansible, discutiamo per la prima volta sul modulo di archivio. Più tardi, discuteremo del modulo Unarchive in Ansible con esempi spiegati.

Modulo di archivio in Ansible

Un modulo di archivio nello strumento Ansible è una raccolta di qualsiasi contenuto che viene spostato su un dispositivo di mantenimento o un dispositivo remoto in modo da poter mantenere il contenuto per un lungo periodo che è tenuto a parte per le esigenze normative o che è stato rimosso dal dispositivo di mantenimento principale o macchina host. Il contenuto che vogliamo comprimere può essere un file di documenti o una directory che contiene più sottodirectory o file di documenti in esso. Per utilizzare la funzionalità di archivio nello strumento Ansible, utilizziamo il rilascio di Ansible 2.3 o sopra la versione perché prima di quella versione di Ansible, utilizziamo il modulo shell per comprimere una cartella in Ansible. Per comprimere i file e le directory dei documenti, ci sono molti formati in Ansible 2.3 versione o sopra che useremo come .cerniera lampo, .catrame, .Gz, .BZ2, ecc. Per archiviare la directory. Per comprimere il file o la directory del documento, il dispositivo host virtuale deve contenere il contenuto che vogliamo comprimere.

Prerequisiti per archiviare il contenuto in Ansible

Supponiamo che tu abbia un controller Ansible con l'ansible configurato sul tuo dispositivo e alcune macchine virtuali in modo da poter convalidare la funzionalità dei moduli di archivio nello strumento Ansible.

Per comprendere il concetto di un modulo di archivio in Ansible, implementiamo un esempio di archivio in modo che possiamo facilmente comprendere il concetto di comprimere il contenuto in Ansible.

Esempio: comprimere il file o la directory in .Formato zip

Ecco il primo esempio del modulo Archive Ansible in cui comprimiamo il documento o la directory in un .formato zip. Per comprimere il documento in .formato zip, creiamo prima il playbook. Nel playbook, scriviamo la posizione del documento o della directory che vogliamo comprimere e anche scrivere il punto di destinazione in cui vogliamo posizionare il file di archivio o la cartella. Il comando utilizzato per costruire il playbook nello strumento Ansible è elencato nel seguente:

[root@master ansible]# nano archivio.YML

Dopo aver scritto il comando, un archivio.Viene visualizzato il file Playbook YML. Innanzitutto, forniamo "tutti" gli host remoti in cui vogliamo archiviare il documento. Per acquisire le informazioni sugli host remoti, la variabile Gather_Facts di Ansible Playbook lancia il modulo di configurazione per impostazione predefinita all'inizio dell'archivio.Playbook YML. Dopodiché, scriviamo i compiti che vogliamo fare nell'archivio.Playbook YML.

Nel modulo dell'attività, scriviamo il nome dell'attività. Scriviamo il modulo di archivio che mostra che vogliamo comprimere il documento. Nel modulo di archivio, il file o la directory del documento che verrà compresso deve essere fornito come argomento minimo "percorso" o tre argomenti che sono il "percorso", "dest" e "formato" quando si comprime un documento. L'argomento del "percorso" contiene il percorso effettivo del documento di origine che è/home/ansible/test.

Il percorso del dispositivo mirato è /TMP /test.zip e il formato del modulo di archivio è .cerniera lampo. Se in qualche modo la directory target non viene fornita, si ritorna alla directory predefinita del file del documento. Quello che segue è il playbook che contiene le attività complete del modulo di archivio:

- ospiti:
- Tutto
Gather_Facts: false
compiti:
- Nome: Compress Directory/Home/Ansible/Test in Directory/TMP/Test.cerniera lampo
archivio:
Path:/Home/Ansible/Test
DEST: /TMP /Test.cerniera lampo
Formato: zip

Per uscire dall'archivio del playbook.YML, premiamo "Ctrl+X" e salviamo le modifiche premendo "Y".

Se vuoi eseguire l'archivio.Playbook YML, dobbiamo prima creare il file di inventario. Successivamente, stabiliamo le connessioni tra gli host remoti e il controller Ansible. Per creare il file di inventario, scriviamo il seguente comando:

[root@master ansible]# nano host.YML

Il padrone di casa.Il file di inventario YML appare sulla nuova schermata. Ora scriviamo le informazioni sugli host. Dal momento che scriviamo host "tutti" nell'archivio.YML Playbook, scriviamo prima "tutto" e poi scriviamo le informazioni "host". Forniamo l'indirizzo IP host, il nome dell'utente Ansible, la password di Ansible, il nome della connessione e il numero di porta disponibile nel file di inventario come puoi vedere nel seguente:

Tutto:
ospiti:
Host1:
Ansible_host: 192.168.3.229
Ansible_User: Ansible
Ansible_Password: ********
Ansible_Connection: SSH
Ansible_port: 22

Ora eseguiamo il playbook e il file di inventario che abbiamo già creato scrivendo il seguente comando:

[root@master ansible]# ansible-playbook Archive.yml -i host.YML

Ecco il risultato dell'Arsible Arcove.Playbook YML:

Come puoi vedere nell'uscita, la directory di host1 viene compressa mostrando il segnale "ok".

Modulo Unarchive in Ansible

Il modulo non arrchito viene utilizzato per disimballare o disprezzare il contenuto del documento o della directory. Per utilizzare il modulo Unarchive di Ansible, il documento o la directory dovrebbe essere disponibile in forma archiviata.

Esempio: disprezzo il file o la directory di .Formato zip

Abbiamo già archiviato la directory che abbiamo recentemente creato. Quando disprezziamo la directory o il file, fornisce l'opzione per duplicare il documento o la directory compresso all'host remoto. Per inarcare il documento o la directory, creiamo innanzitutto il playbook in cui scriviamo la fonte e la destinazione della directory.

[root@master ansible]# nano unarchive.YML

Creiamo unarchive.Playbook YML. Ora scriviamo gli host remoti e le attività che vogliamo implementare nel playbook. Nei compiti, scriviamo la variabile "src" e quindi passiamo il percorso della directory archiviata che è /tmp /prerequisiti.cerniera lampo. Quindi, scriviamo la variabile "dest" e posizioniamo il percorso che è/home/ansible/dove vogliamo disimballare il contenuto della directory.

- ospiti:
- Tutto
Gather_Facts: false
compiti:
- Nome: prerequisiti Unarchive.Zip dalla macchina controller in /home /ansible sulla macchina di destinazione
Unarchive:
src: /tmp /prerequisiti.cerniera lampo
dest:/home/ansible/

Abbiamo già creato il file di inventario precedente che è host.YML quindi non dobbiamo costruire nuovamente la connessione tra il controller Ansible e gli host remoti. Scriviamo semplicemente il comando Ansible-Playbook e chiamiamo l'host.File di inventario YML in esso. Se non abbiamo la connessione, creiamo la connessione. Per far funzionare l'Ansible Unarchive.Playbook YML, scrivi il seguente comando:

[root@master ansible]# ansible-playbook unarchive.yml -i host.YML

Quello che segue è l'output eseguibile del playbook Ansible in cui disimballano il contenuto della directory:

Conclusione

Abbiamo imparato come comprimere e disprezzare un documento o una directory utilizzando lo strumento Ansible. Innanzitutto, abbiamo una directory predefinita che abbiamo convertito in un modulo di archivio. Quindi, non abbiamo archiviato la directory archiviata implementando l'esempio del .formato zip con una spiegazione dettagliata.