Kopimodulen er en av de viktige modulene til Ansible som er den innebygde modulen i Ansible-verktøyet. Katalogene og filene blir replikert ved å bruke Ansible Copy Modules. Kopimodulen har tilstrekkelig fleksibilitet. Det er ansatt for å kopiere informasjonen og filene fra et lokalt system til Target Remote Hosts. Kopimodulen kan overføre filene som har hatt parametere erstattet av dem, for eksempel konfigurasjonsfilene med IP -adressemodifikasjoner. Du kan utføre en rekke intrikate aktiviteter i Ansible Copy -modulen.
Ulike parametere for Ansible Copy Module
Tatt i betraktning følgende er de flere variablene som vi bruker mens vi utfører eksemplene i praksis.
Nødvendige parametere:
For å gjenskape katalogene og filene på Target Remote Host, krever kopimodulen spesifikke argumenter.
Dest: Dokumentet eller katalogenes endelige destinasjonssti. Hvis den opprinnelige banen er en katalog og målkatalogen ikke er spesifisert, opprettes destinasjonskatalogen automatisk; Imidlertid, hvis den opprinnelige ruten er et dokument og destinasjonsstien ikke er spesifisert som et dokument, kastes et unntak. Den nøyaktige relative veien skal bringe deg til det målrettede punktet.
Valgfrie parametere:
Selv om det er flere mulige valgfrie parametere for kommandoen for ansettelige kopier, fokuserer vi bare på noen få av dem. Vi kan være pålagt å forstå denne komponenten fullstendig.
SRC: Katalogen og dokumenters opprinnelige vei. Avhengig av konteksten, kan denne veien være enten relativ eller absolutt. Dokumentene og underkatalogene kopieres iterativt hvis den opprinnelige stedet er katalogen. Den gjentar informasjonen om katalogen hvis opprinnelsesadressen er en ordbok og ender med /. Alternativt dupliserer den katalogen som bærer det gitte navnet på den målrettede banen.
makt: Hvis det har skjedd noen dokumentendringer, endrer det dokumentet og standardmodus til ja. Hvis alternativet er nei, er dokumentene overført. De er imidlertid ikke til stede på ønsket rute.
Forutsetninger av kommandoen for Ansible Copy
I likhet med alle andre moduler av Ansible, har kopimodulen et sett med krav som må oppfylles før den kan implementeres i en Ansible Playbook. Disse kravene er følgende:
Eksempel 1: Duplisering av dokumentet på målet for fjerntliggende vert
Vi implementerer det aller første scenariet i kopimodulen. Vi dupliserer dokumentet fra Ansible -kontrolleren til den målrettede lokale vertsstedet. For å gjøre dette, lager vi først spillboken for å skrive manuset og nevne banen til både kontrolleren og den lokale verten i den. Følgende er kommandoen for å bygge Ansible Playbook:
[root@master ansible]# nano copy_module.yml
Etter å ha opprettet Copy_Module Playbook, åpner den nå automatisk en ny terminalskjerm. Først passerer vi den lille beskrivelsen av eksemplet som vi implementerer i spillboken slik at brukeren lett kan forstå eksemplet i "Navn" -parameteren. Deretter gir vi en "falsk" verdi til "Samle_fact" -variabelen slik at vi kan motta den ekstra informasjonen fra den eksterne verten. Nå spesifiserer vi den eksterne verten i parameteren “Hosts” som er localhost. Vi forteller også tilkoblingstypen som er den "lokale forbindelsen".
Deretter begynner vi å liste opp oppgavene i Ansible-Playbook ved å skrive navnet på oppgaven først. Deretter skriver vi "Copy" -variabelen. Vi passerer deretter "SRC" og "DEST" slik at vi kan spesifisere kontrollerveien for å duplisere dokumentet og lime det inn i det lokale Host -spesifiserte stedet.
Avslutt Copy_Module.YML Playbook. I denne delen vil vi ikke lage varelagerfilen for å lage forbindelsen fordi vi bruker den lokale verten her. For å vise resultatene skriver vi følgende uttalelse:
[root@master ansible]# ansible-playbook copy_module.yml
Følgende skjermbilde er utgangen fra den tidligere utførte spillboken. I denne utgangen viser den oss “OK” og “endret” -signalene som forteller brukeren at oppgavene og kommandoene i "copy_module" -spillet blir utført med hell.
Eksempel 2: Dupliserer et dokument til en katalog som ikke eksisterer i den lokale verten
I dette eksemplet dupliserer vi dokumentet til stedet der katalogen ikke er tilgjengelig i den lokale vertsenheten. For eksempel, hvis vi har et dokument som vi ønsker å duplisere til den nye katalogen med det nøyaktige navnet som originaldokument, oppretter kopimodulen den nye katalogen hvis målkatalogen ikke eksisterer på målapparatet. Først åpner vi Copy_Module.YML Playbook. Deretter gjør vi endringer i henhold til eksemplets krav.
[root@master ansible]# nano copy_module.yml
I spillboken endrer vi destinasjonsstien i "DEST" -parameteren.
Nå kjører vi spillboken for å få ønsket utgang i terminalen ved å skrive følgende uttalelse:
[root@master ansible]# ansible-playbook copy_module.yml
Eksempel 3: Dupliserer et dokument med tillatelse fra eieren
Her er det tredje scenariet i Ansible Copy -modulen der vi kopierer dokumentet med tillatelse fra eieren til Target Remote Host. I spillboken legger vi i tillegg til eier-, gruppe- og modusparametere.
[root@master ansible]# nano copy_module.yml
Nå åpnes spillboken etter å ha skrevet forrige uttalelse:
For å få resultatene utfører vi følgende uttalelse:
[root@master ansible]# ansible-playbook copy_module.yml
Her er resultatet etter å ha kjørt den forrige Playbook -kommandoen:
Eksempel 4: Dupliserer et dokument til et eksternt sted
I denne illustrasjonen ønsker vi å duplisere dokumentet til den eksterne stedet ved hjelp av kopimodulen til Ansible.
[root@master ansible]# nano copy_module.yml
Etter å ha åpnet spillboken, endrer vi kommandoene.
Vi ønsker å duplisere dokumentet til den eksterne verten, så vi bygger varelagerfilen for å lage forbindelsen mellom Ansible Controller og den eksterne verten. Nå oppretter vi inventarfilen gjennom følgende kommando:
[root@master ansible]# ansible-playbook copy_module.yml
Etter å ha opprettet inventarfilen, bygger vi forbindelsen.
Alle:
verter:
Vert1:
Ansible_host: 192.168.7.10
Ansible_user: Iris
Ansible_Password: TPSTPS_1
Ansible_Connection: SSH
Ansible_port: 22
For å få ønsket utgang, kjør følgende kommando:
[root@master ansible]# ansible-playbook copy_module.yml -i vert.yml
Her er resultatet av å utføre den nevnte kommandoen:
Konklusjon
Denne artikkelen diskuterer om Ansible Copy -modulen. Vi forstår nå de forskjellige kopimodulens obligatoriske og valgfrie parametere. Flere eksempler er inkludert slik at brukerne kan forstå dem fullt ut.