Moduł kopii jest jednym z ważnych modułów Ansible, którym jest wbudowany moduł w narzędziu Ansible. Katalogi i pliki są replikowane przy użyciu modułów kopiowania Ansible. Moduł kopiowania ma wystarczającą elastyczność. Jest stosowany do kopiowania informacji i plików z systemu lokalnego do docelowych zdalnych hostów. Moduł kopiowania może przesyłać pliki, które zawierały parametry, takie jak pliki konfiguracyjne z modyfikacjami adresu IP. Możesz wykonać wiele misternych czynności w module kopii Ansible.
Różne parametry modułu kopiowania Ansible
Biorąc pod uwagę następujące następujące zmienne, które stosujemy, jednocześnie wprowadzając przykłady.
Wymagane parametry:
Aby powtórzyć katalogi i pliki na docelowym hoście zdalnym, moduł kopii wymaga określonych argumentów.
Dest: Ścieżka docelowa dokumentu lub katalogów. Jeśli oryginalna ścieżka jest katalogiem, a katalog docelowy nie jest określony, katalog docelowy jest tworzony automatycznie; Jeśli jednak oryginalna trasa jest dokumentem, a ścieżka docelowa nie jest określona jako dokument, wycofany jest wyjątek. Dokładna względna ścieżka powinna doprowadzić Cię do ukierunkowanego punktu.
Opcjonalne parametry:
Chociaż istnieją dodatkowe możliwe opcjonalne parametry dla komendy kopiowania ansible, skupiamy się tylko na kilku z nich. Możemy być zobowiązani do całkowitego zrozumienia tego komponentu.
SRC: Oryginalna ścieżka katalogów i dokumentów. W zależności od kontekstu, ta ścieżka może być względna lub bezwzględna. Dokumenty i podwodniki są kopiowane iteracyjnie, jeśli lokalizacja pochodząca jest katalogiem. Replikuje informacje z katalogu, jeśli adres pochodzący. Alternatywnie, powiela katalog, który nosi podaną nazwę do ukierunkowanej ścieżki.
siła: Jeśli istniały jakieś modyfikacje dokumentów, modyfikuje dokument i jego domyślny tryb na tak. Jeśli opcja jest nie, dokumenty zostały przeniesione. Nie są jednak obecne na pożądanej trasie.
Wymagania wstępne polecenia kopiowania ansible
Podobnie jak wszystkie inne moduły Ansible, moduł kopiowania ma zestaw wymagań, które należy spełnić, zanim można go wdrożyć w ansible podręczniku. Te wymagania są następujące:
Przykład 1: Duplikowanie dokumentu na docelowym zdalnym urządzeniu hosta
Wdrażamy pierwszy scenariusz modułu kopiowania. Duplikujemy dokument z kontrolera Ansible do ukierunkowanej lokalizacji lokalnego hosta. Aby to zrobić, najpierw tworzymy podręcznik, aby napisać skrypt i wspominać o ścieżce zarówno kontrolera, jak i lokalnego hosta. Poniżej znajduje się polecenie zbudowania poradnika Ansible:
[root@master ansible]# nano copy_module.yml
Po utworzeniu podręcznika copy_module, teraz automatycznie otwiera nowy ekran terminalu. Najpierw przekazujemy mały opis przykładu, który wdrażamy w podręczniku, aby użytkownik mógł łatwo zrozumieć przykład w parametrze „Nazwa”. Następnie podajemy „fałszywą” wartość do zmiennej „Zebraj_fact”, abyśmy mogli otrzymać dodatkowe informacje z hosta zdalnego. Teraz określamy zdalny host w parametrze „hostów”, który jest hostem lokalnym. Mówimy również typowi połączenia, które jest „połączeniem lokalnym”.
Następnie zaczynamy wymieniać zadania w Playbooka Ansible, pisząc najpierw nazwę zadania. Następnie piszemy zmienną „Kopiuj”. Następnie przekazujemy „src” i „dest”, abyśmy mogli określić ścieżkę kontrolera, aby zduplikować dokument i wkleić ją do lokalizacji określonej przez hosta.
Wyjdź z copy_module.Playbook YML. W tej sekcji nie stworzymy pliku zapasów, aby nawiązać połączenie, ponieważ używamy lokalnego hosta tutaj. Aby wyświetlić wyniki, piszemy następujące stwierdzenie:
[root@master ansible]# ansible-playbook copy_module.yml
Poniższy zrzut ekranu jest wyjściem wcześniej wykonanego podręcznika. W tym wyjściu pokazuje nam sygnały „OK” i „Zmienione”, które mówią użytkownikowi, że zadania i polecenia w podręczniku „Copy_module” są pomyślnie wykonywane.
Przykład 2: Duplikowanie dokumentu do katalogu, który nie istnieje w lokalnym hoście
W tym przykładzie zduplikujemy dokument do lokalizacji, w której katalog nie jest dostępny w lokalnym urządzeniu hosta. Na przykład, jeśli mamy dokument, który chcemy powielić do nowego katalogu o dokładnej nazwie jako oryginalny dokument, moduł kopii tworzy nowy katalog, jeśli katalog docelowy nie istnieje na urządzeniu docelowym. Najpierw otwieramy copy_module.Playbook YML. Następnie wprowadzamy zmiany zgodnie z przykładowymi wymaganiami.
[root@master ansible]# nano copy_module.yml
W podręczniku zmieniamy ścieżkę docelową w parametrze „dest”.
Teraz uruchamiamy podręcznik, aby uzyskać pożądane dane wyjściowe w terminalu, pisząc następujące stwierdzenie:
[root@master ansible]# ansible-playbook copy_module.yml
Przykład 3: Duplikowanie dokumentu za zgodą właściciela
Oto trzeci scenariusz modułu kopiowania Ansible, w którym kopiujemy dokument za zgodą właściciela do docelowego hosta zdalnego. W podręczniku dodajemy dodatkowo parametry właściciela, grupy i trybu.
[root@master ansible]# nano copy_module.yml
Teraz podręcznik jest otwarty po napisaniu poprzedniego oświadczenia:
Aby uzyskać wyniki, wykonujemy następującą instrukcję:
[root@master ansible]# ansible-playbook copy_module.yml
Oto wynik po uruchomieniu poprzedniego polecenia Playbook:
Przykład 4: Duplikowanie dokumentu do odległej lokalizacji
W tej ilustracji chcemy powielić dokument do zdalnej lokalizacji za pomocą modułu kopiowania Ansible.
[root@master ansible]# nano copy_module.yml
Po otwarciu podręcznika modyfikujemy polecenia.
Chcemy zduplikować dokument do zdalnego hosta, abyśmy tworzyli plik zapasowy, aby połączyć się między kontrolerem ansible a hostem zdalnym. Teraz tworzymy plik ekwipunku za pośrednictwem następującego polecenia:
[root@master ansible]# ansible-playbook copy_module.yml
Po utworzeniu pliku zapasów budujemy połączenie.
Wszystko:
zastępy niebieskie:
Host1:
ansible_host: 192.168.7.10
ansible_user: Iris
ansible_password: tpstps_1
ansible_connection: ssh
ansible_port: 22
Aby uzyskać żądane wyjście, uruchom następujące polecenie:
[root@master ansible]# ansible-playbook copy_module.YML -i Host.yml
Oto wynik wykonania wyżej wymienionego polecenia:
Wniosek
W tym artykule omówiono moduł kopii Ansible. Teraz rozumiemy obowiązkowe i opcjonalne parametry modułu kopiowania. Uwzględniono wiele przykładów, aby użytkownicy mogli je w pełni uchwycić.