Arkiv- og unarkivmoduler i Ansible

Arkiv- og unarkivmoduler i Ansible

Vi vet allerede hvordan vi skal komprimere og ukomprimere filene eller mappene i Windows. Men i dag lærer vi hvordan vi komprimerer filene og mappene ved hjelp av Ansible -verktøyet. For å forstå begge terminologiene til Ansible, la oss først diskutere om arkivmodulen. Senere vil vi diskutere om unarkivmodulen i Ansible med forklarte eksempler.

Arkivmodul i Ansible

En arkivmodul i Ansible -verktøyet er en samling av innhold som blir flyttet til en holderenhet eller ekstern enhet, slik at vi kan oppbevare innholdet i en lang periode som holdes fra hverandre for reguleringsbehov eller har blitt fjernet fra den viktigste holderenheten eller vertsmaskin. Innholdet som vi ønsker å komprimere kan være en dokumentfil eller en katalog som inneholder flere underkataloger eller dokumentfiler i den. For å bruke arkivfunksjonaliteten i Ansible -verktøyet, bruker vi utgivelsen av Ansible 2.3 eller over versjon fordi vi før den versjonen av Ansible bruker Shell -modulen for å komprimere en mappe i Ansible. For å komprimere dokumentfilene og katalogene, er det mange formater i Ansible 2.3 versjon eller over at vi vil bruke som .glidelås, .tjære, .gz, .BZ2, osv. For å arkivere katalogen. For å komprimere dokumentfilen eller katalogen, må den virtuelle vertsenheten inneholde innholdet som vi vil komprimere.

Forutsetninger for å arkivere innholdet i Ansible

Vi antar at du har en Ansible -kontroller med den konfigurerte Ansible på enheten din og noen virtuelle maskiner, slik at vi kan validere funksjonaliteten til arkivmodulene i Ansible Tool.

For å forstå konseptet med en arkivmodul i Ansible, la oss implementere et eksempel på et arkiv, slik at vi lett kan forstå begrepet komprimering av innholdet i Ansible.

Eksempel: komprimering av filen eller katalogen i .ZIP -format

Her er det aller første eksemplet på Ansible Archive -modulen der vi komprimerer dokumentet eller katalogen i en .ZIP -format. Å komprimere dokumentet i .Zip -format, vi oppretter først spillboken. I spillboken skriver vi plasseringen av dokumentet eller katalogen som vi ønsker å komprimere, og skriver også destinasjonspunktet der vi vil plassere arkivfilen eller mappen. Kommandoen som brukes til å konstruere spillboken i Ansible -verktøyet er oppført i følgende:

[root@master ansible]# nano archive.yml

Etter å ha skrevet kommandoen, et arkiv.YML Playbook -fil vises. Først gir vi "alle" de eksterne vertene der vi ønsker å arkivere dokumentet. For å skaffe informasjonen om de eksterne vertene, lanserer Ansible Playbook's Gather_Facts -variabel konfigurasjonsmodulen som standard i begynnelsen av arkivet.YML Playbook. Etter det skriver vi oppgavene som vi vil gjøre i arkivet.YML Playbook.

I oppgavens modul skriver vi navnet på oppgaven. Vi skriver arkivmodulen som viser at vi vil komprimere dokumentet. I arkivmodulen må dokumentfilen eller katalogen som kommer til å komprimeres, gis som minimumssel "-argumentet eller tre argumenter som er" banen "," dest "og" format "når du komprimerer et dokument. Argumentet "Sti" inneholder kildedokumentets faktiske bane som er/Home/Ansible/Test.

Den målrettede enhetens bane er /tmp /test.ZIP og formatet på arkivmodulen er .glidelås. Hvis det ikke er gitt målkatalogen på en eller annen måte, vender den tilbake til standardkatalogen til dokumentfilen. Følgende er spillboken som inneholder de komplette oppgavene til arkivmodulen:

- verter:
- alle
Samle_facts: FALSE
oppgaver:
- Navn: Komprimerkatalog/Hjem/Ansible/Test til Directory/TMP/Test.glidelås
arkiv:
Sti:/Hjem/Ansible/test
dest: /tmp /test.glidelås
Format: Zip

Å forlate spillbokens arkiv.YML, vi trykker på “Ctrl+X” og lagrer endringene ved å trykke på “Y”.

Hvis du vil kjøre arkivet.YML Playbook, vi må først bygge varelagerfilen. Deretter etablerer vi forbindelsene mellom både fjernverter og Ansible -kontrolleren. For å opprette varelagerfilen skriver vi følgende kommando:

[root@master ansible]# nano host.yml

Verten.YML Inventory -fil vises på den nye skjermen. Nå skriver vi informasjonen om vertene. Siden vi skriver “alle” verter i arkivet.YML Playbook, vi skriver først "alle" og deretter skriver vi "vertene" -informasjonen. Vi oppgir verts -IP -adressen, navnet på Ansible -brukeren, passordet til Ansible, tilkoblingsnavnet og det tilgjengelige portnummeret i varelagerfilen som du kan se i det følgende:

Alle:
verter:
Vert1:
Ansible_host: 192.168.3.229
Ansible_user: Ansible
Ansible_Password: ********
Ansible_Connection: SSH
Ansible_port: 22

Nå utfører vi spillboken og varelagerfilen som vi allerede har opprettet ved å skrive følgende kommando:

[root@master ansible]# Ansible-playbook Archive.yml -i vert.yml

Her er resultatet av Ansible Archove.YML Playbook:

Som du kan se i utdataene, komprimeres katalogen til Host1 ved å vise "OK" -signalet.

Unarkivmodul i Ansible

Den uforsøkede modulen brukes til å pakke ut eller ukompressere innholdet i dokumentet eller katalogen. For å bruke unarkivmodulen til Ansible, skal dokumentet eller katalogen være tilgjengelig i arkivert form.

Eksempel: Ukomprimering av filen eller katalogen til .ZIP -format

Vi har allerede arkivert katalogen som vi nylig har laget. Når vi uforskynd deg katalogen eller filen, gir den muligheten til å duplisere det komprimerte dokumentet eller katalogen til den eksterne verten. For å fjerne dokumentet eller katalogen, oppretter vi først spillboken der vi skriver kilden og destinasjonen til katalogen.

[root@master ansible]# nano unarchive.yml

Vi oppretter unarkivet.YML Playbook. Nå skriver vi de eksterne vertene og oppgavene som vi ønsker å implementere i spillboken. I oppgavene skriver vi "SRC" -variabelen og passerer deretter banen til den arkiverte katalogen som er /TMP /Pre-Requistes.glidelås. Deretter skriver vi "DEST" -variabelen og plasserer banen som er/hjemme/ansible/hvor vi vil pakke ut innholdet i katalogen.

- verter:
- alle
Samle_facts: FALSE
oppgaver:
- Navn: Unarkiv forutsetninger.ZIP fra kontrollermaskinen inn i /hjem /ansettelig på målmaskinen
Unarkiv:
src: /tmp /pre-requisites.glidelås
Dest:/Home/Ansible/

Vi har allerede opprettet den forrige varelagerfilen som er vert.YML Så vi trenger ikke å bygge forbindelsen igjen mellom Ansible -kontrolleren og de eksterne vertene. Vi skriver bare bare Ansible-Playbook-kommandoen og ringer verten.YML Inventory -fil i den. Hvis vi ikke har forbindelsen, bygger vi forbindelsen. Å kjøre Ansible Unarchive.YML Playbook, skriv følgende kommando:

[root@master ansible]# Ansible-playbook unarchive.yml -i vert.yml

Følgende er den kjørbare utdata fra Ansible Playbook der vi pakker ut innholdet i katalogen:

Konklusjon

Vi lærte hvordan vi kan komprimere og ukomprese et dokument eller katalog ved hjelp av Ansible -verktøyet. Først har vi en standardkatalog som vi konverterte til en arkivmodul. Deretter uforsøkte vi den arkiverte katalogen ved å implementere eksemplet med .ZIP -format med en detaljert forklaring.