Come sfruttare al meglio da Ansible Unarchive

Come sfruttare al meglio da Ansible Unarchive
Unarchiving si riferisce alla decompressione di file che si trovano nel .zip, catrame e catrame.formato GZ. È il processo tramite in cui i file vengono ripristinati da un archivio esistente. Questo archivio può essere presente localmente sul sistema o su un server remoto.

L'archiviazione ha i suoi vantaggi, il più grande di loro è facilità di portabilità. Ti consente di raggruppare file di diversi tipi e comprimerli in un unico portatile .File Zip/Tar che può essere decomprimato per recuperare i file originali in seguito.

Ansible fornisce anche opzioni di archivio con l'aiuto di Ansible.costruito.Modulo Unarchive. Questo modulo ha le opzioni di decomposizione disponibili, insieme ad alcune opzioni che gli consentono di copiare i file prima di estrarli.

Questa guida ha lo scopo di aiutarti a imparare come utilizzare il modulo Unarchive in Ansible. Esamineremo le basi del modulo Unarchive, alcuni parametri comuni ed esempi su come implementarli.

Detto questo, iniziamo.

Prerequisiti di Unarchive in Ansible

Di seguito sono riportati i requisiti affinché il modulo Unarchive Ansible funzioni correttamente sul sistema.

  • Un sistema con ansible preinstallato. Ti consigliamo di utilizzare una distribuzione Linux.
  • Host remoti, sistemi separati o macchine virtuali. Software come Oracle VirtualBox, Vagrant e VMware Workstations sono perfetti per il lavoro.
  • I comandi "ZipInfo", "Gtar" e "Unzip" dovrebbero essere installati sull'host.

Ti consigliamo anche di avere un po 'di know-how di base su come eseguire i comandi nel terminale.

Limitazioni di Unarchive in Ansible

Mentre il modulo Unarchive funziona bene .catrame e .file zip, non può essere utilizzato con i file del tipo .Gz, .BZ2, .file xz. I file devono contenere un file .Archivio catrame che il modulo funzioni. Per i file che utilizzano GTAR, assicurarsi che l'argomento -diff sia supportato.

La prossima sezione di questa guida coprirà i parametri del modulo Unarchive.

Parametri del modulo Unarchive Ansible

Il modulo Ansible Unarchive ha il proprio elenco di parametri che estendono la funzionalità del modulo generale.

Di seguito è riportato un elenco di moduli importanti.

  • "Attributi" - Questi regolano gli attributi di un determinato oggetto filesystem.
  • "Copia" - Questa funzione viene fornita con due scelte, sì o no. Se l'opzione selezionata è sì, il file viene copiato sull'host remoto dal dispositivo locale.
  • "Create" - usato per creare un percorso/directory.
  • "Exclude" - consente di escludere determinati file e directory dall'estrazione.
  • "Gruppo" - designa un gruppo a cui appartiene l'oggetto filesystem.
  • "Include" - Includi file e directory che desideri estrarre.
  • "Modalità" - regola le autorizzazioni del filesystem.
  • "Proprietario" - designa un utente come proprietario di un oggetto filesystem

A parte i parametri di cui sopra, sono disponibili più opzioni con il modulo Unarchive Ansible. Per maggiori dettagli sui parametri, dai un'occhiata alla documentazione ufficiale di Modulo Unarchive Online.

La prossima sezione di questa guida esaminerà alcuni esempi su come usare unarchive in ansible.

Utilizzo di Unarchive per estrarre un file in una determinata directory

Il seguente esempio illustra come è possibile estrarre a .File TGZ (denominato archivio.tgz) in un determinato percorso.

- Nome: Estratto Archivio.tgz in/var/lib/archivio
Ansible.costruito.Unarchive:
SRC: Archivio.TGZ
dest:/var/lib/archivio

Ora, esegui questo comando nel terminale Linux per l'esecuzione di un playbook.

libro di prova Ansible-Playbook.YML

"SRC" indica il file che deve essere estratto mentre "Dest:" viene utilizzato per specificare il percorso.

Vedremo altri esempi per capire come usare meglio il modulo Unarchive.

Unarchive Un file disponibile sull'host remoto

L'esempio seguente illustra come è possibile estrarre un file già presente sull'host o sulla macchina remoto.

- Nome: estrarre un file già presente sul sistema remoto.
Ansible.costruito.Unarchive:
SRC: /TMP /Archive.cerniera lampo
DEST:/USR/Local/Bin
Remote_SRC: Sì

Il codice di cui sopra estraggerà l'archivio dei file.zip in/usr/locale/cestino.

Utilizzo del modulo Unarchive per estrarre un file online

Questa è stata una caratteristica che è stata aggiunta nella versione 2.0. Ti consente di estrarre un file disponibile online che non è stato ancora scaricato sul sistema.

Il seguente esempio illustra come puoi raggiungere questo obiettivo.

- Nome: estrai un file che non è stato ancora scaricato sul tuo sistema
Ansible.costruito.Unarchive:
SRC: https: ///.cerniera lampo
DEST:/USR/Local/Bin
Remote_SRC: Sì

Il suddetto blocco di codice estraggerà il file nel percorso di destinazione/usr/locale/cestino.

La differenza nel codice playbook con e senza unarchive

Il seguente esempio ha lo scopo di aiutarti a vedere la differenza tra il codice che utilizza il modulo di comando non archivo.

Iniziamo dando un'occhiata a come scrivere il codice per copiare e non archivi. Useremo il modulo Copia insieme al comando TAR -XVF per l'estrazione.

---
- Nome: copiare un file dato ed estrarre il suo contenuto
Host: test_servers
VAR:
- userid: "LinuxUser1"
- Oracle_home: "/opt/Oracle"
- JDK_INSTL_FILE: "Server-Linux.catrame.gz "(nome del .catrame.File GZ.)
compiti:
- Nome: copia il contenuto dei file JDK
Diventa: sì
diventare_user: "userid"
Tag: app, cpbinaries
copia:
src: "item"
dest: "oracle_home"
Modalità: 0755
with_items:
- "jdk_instl_file"
- Nome: Installa Java
Diventa: sì
diventare_user: "userid"
Tag: Javainstall
shell: "tar xvfz oracle_home/jdk_instl_file"
Args:
chdir: "oracle_home"
Registro: Javainstall

Le stesse attività possono essere raggiunte in modo molto più semplice usando il modulo Unarchive come mostrato di seguito.

---
- Nome: copiare un file dato ed estrarre il suo contenuto
Host: test_servers
VAR:
- userid: "LinuxUser1"
- Oracle_home: "/opt/Oracle"
- JDK_INSTL_FILE: "Server-Linux.catrame.GZ "
compiti:
- Nome: Copia e installa contenuti JDK e Java
Diventa: sì
diventare_user: "userid"
Tag: Javainstall
Unarchive:
src: "item"
dest: "oracle_home"
Modalità: 0755
with_items:
- "jdk_instl_file"

Notare come vi sia una significativa riduzione delle righe del codice rispetto al metodo che non utilizza il modulo Unarchive. Usando il modulo Unarchive, siamo stati in grado di unire il compito di copiare e inarroccare in uno.

Conclusione

Speriamo che questa guida ti abbia aiutato a imparare come utilizzare il modulo Unarchive in Ansible. Abbiamo coperto le basi del modulo insieme a limiti, prerequisiti e parametri. Abbiamo anche esaminato alcuni esempi per migliorare la nostra comprensione. Con questo, ti auguriamo tutto il meglio per imparare a usare Ansible.