Archiwum i moduły niepodległe w Ansible

Archiwum i moduły niepodległe w Ansible

Wiemy już, jak kompresować i rozpakować pliki lub foldery w systemie Windows. Ale dzisiaj dowiadujemy się, jak kompresujemy pliki i foldery za pomocą narzędzia Ansible. Aby zrozumieć obie terminologie Ansible, najpierw omówmy moduł archiwum. Później omówimy moduł niepodatwy w Ansible z wyjaśnionymi przykładami.

Moduł archiwum w Ansible

Moduł archiwum w narzędziu Ansible to zbiór dowolnej zawartości, która jest przesunięta na urządzenie utrzymywane lub zdalne, abyśmy mogli zachować treść przez długi okres lub maszyna hosta. Treść, którą chcemy skompresować, może być plik dokumentu lub katalog zawierający wiele podlokdaryzmów lub plików dokumentów. Aby użyć funkcji archiwum w narzędziu Ansible, używamy wydania Ansible 2.3 lub powyżej wersji, ponieważ przed tą wersją Ansible używamy modułu powłoki do kompresji folderu w Ansible. Aby kompresować pliki dokumentów i katalogi, istnieje wiele formatów w Ansible 2.3 wersja lub powyżej, której użyjemy .zamek błyskawiczny, .smoła, .GZ, .BZ2 itp., Aby zarchiwizować katalog. Aby skompresować plik dokumentu lub katalog, wirtualne urządzenie hosta musi zawierać zawartość, którą chcemy skompresować.

Warunki do archiwizacji treści w Ansible

Zakładamy, że masz kontroler ansible z skonfigurowanym ansible na twoim urządzeniu i niektórymi maszynami wirtualnymi, abyśmy mogli potwierdzić funkcjonalność modułów archiwum w narzędziu Ansible.

Aby zrozumieć koncepcję modułu archiwum w Ansible, zaimplementujmy przykład archiwum, abyśmy mogli łatwo zrozumieć koncepcję kompresji treści w Ansible.

Przykład: kompresowanie pliku lub katalogu w .Format zip

Oto pierwszy przykład modułu archiwum Ansible, w którym kompresujemy dokument lub katalog w a .Format zip. Aby skompresować dokument w .Format zip, najpierw tworzymy podręcznik. W podręczniku piszemy lokalizację dokumentu lub katalogu, który chcemy kompresować, a także piszemy punkt docelowy, w którym chcemy umieścić plik archiwum lub folder. Polecenie używane do konstruowania podręcznika w narzędziu Ansible jest wymienione w następujący sposób:

[root@master ansible]# archiwum nano.yml

Po napisaniu polecenia archiwum.Wyświetl się plik podręcznika YML. Najpierw podajemy „wszystkie” zdalne hosty, w których chcemy zarchiwizować dokument. Aby uzyskać informacje o zdalnych hostach, zmienna Gaint_Facts Ansible Playbook Domyślnie uruchamia moduł konfiguracyjny na początku archiwum.Playbook YML. Następnie piszemy zadania, które chcemy wykonać w archiwum.Playbook YML.

W module zadania piszemy nazwę zadania. Piszemy moduł archiwum, który pokazuje, że chcemy kompresować dokument. W module archiwum plik dokumentu lub katalog, który zostanie skompresowany. Argument „ścieżka” zawiera rzeczywistą ścieżkę dokumentu źródłowego, która jest/dom/ansible/test.

Ścieżka docelowego urządzenia jest /TMP /test.Zip i format modułu archiwum jest .zamek błyskawiczny. Jeśli w jakiś sposób nie jest podany katalog docelowy, powraca do domyślnego katalogu pliku dokumentu. Poniżej znajduje się podręcznik zawierający pełne zadania modułu archiwum:

- zastępy niebieskie:
- Wszystko
GACED_FAFTS: FAŁSZ
Zadania:
- Nazwa: Directory Compress/Home/Ansible/Test w Directory/TMP/Test.zamek błyskawiczny
Archiwum:
ścieżka:/home/ansible/test
dest: /tmp /test.zamek błyskawiczny
Format: Zip

Aby wyjść z archiwum podręcznika.YML, naciskamy „Ctrl+X” i zapisujemy modyfikacje, naciskając „Y”.

Jeśli chcesz uruchomić archiwum.Playbook YML, najpierw musimy zbudować plik ekwipunku. Następnie ustalamy połączenia między hostami zdalnymi i kontrolerem Ansible. Aby utworzyć plik ekwipunku, piszemy następujące polecenie:

[root@master ansible]# nano host.yml

Gospodarz.plik zapasowy YML pojawia się na nowym ekranie. Teraz piszemy informacje dotyczące hostów. Ponieważ piszemy hostów „wszystkich” w archiwum.Plagbook YML, najpierw piszemy „wszystko”, a następnie piszemy informacje „hostów”. Podajemy adres IP hosta, nazwę użytkownika Ansible, hasło Ansible, nazwa połączenia i dostępny numer portu w pliku ekwipunku, jak widać następujące:

Wszystko:
zastępy niebieskie:
Host1:
ansible_host: 192.168.3.229
ansible_user: ansible
ansible_password: ********
ansible_connection: ssh
ansible_port: 22

Teraz wykonujemy podręcznik i plik ekwipunku, który już stworzyliśmy, pisząc następujące polecenie:

[root@master ansible]# archiwum ansible-playbook.YML -i Host.yml

Oto wynik Archove Ansible.Piłka YML:

Jak widać na wyjściu, katalog hosta1 jest kompresowany, pokazując sygnał „OK”.

Moduł niepodatwy w Ansible

Niezarchaniowany moduł służy do rozpakowywania lub rozprzestrzeniania treści dokumentu lub katalogu. Aby użyć modułu niepodatnego Ansible, dokument lub katalog powinien być dostępny w formie zarchiwizowanej.

Przykład: rozpakowanie pliku lub katalogu .Format zip

Już zarchiwizowaliśmy katalog, który niedawno stworzyliśmy. Kiedy rozstrzygamy katalog lub plik, zapewnia on opcję powielania skompresowanego dokumentu lub katalogu do hosta zdalnego. Aby niezarżetować dokument lub katalog, najpierw tworzymy podręcznik, w którym piszemy źródło i miejsce docelowe katalogu.

[root@master ansible]# nano unarchive.yml

Tworzymy nierearchiwanie.Playbook YML. Teraz piszemy zdalne hosty i zadania, które chcemy wdrożyć w podręczniku. W zadaniach piszemy zmienną „SRC”, a następnie przekazujemy ścieżkę zarchiwizowanego katalogu, który jest /TMP /.zamek błyskawiczny. Następnie piszemy zmienną „dest” i umieszczamy ścieżkę, która jest/dom/ansible/gdzie chcemy rozpakować treść katalogu.

- zastępy niebieskie:
- Wszystko
GACED_FAFTS: FAŁSZ
Zadania:
- Nazwa: Niezarodne warunki wstępne.zamek z maszyny kontrolera do /dom /ansible na komputerze docelowym
Niezbędne:
src: /tmp /warunki wstępne.zamek błyskawiczny
dest:/home/ansible/

Utworzyliśmy już poprzedni plik zapasowy, który jest hostem.YML, abyśmy nie musieli ponownie budować połączenia między kontrolerem ansible a hostami zdalnymi. Po prostu piszemy polecenie Ansible-Playbook i wywołujemy host.w nim plik zapasowy YML. Jeśli nie mamy połączenia, budujemy połączenie. Aby uruchomić Ansible Unarchive.Playbook YML, napisz następujące polecenie:

[root@master ansible]# Ansible-Playbook Unarchive.YML -i Host.yml

Poniżej znajduje się wyjście wykonywalne podręcznika Ansible, w którym rozpakowujemy treść katalogu:

Wniosek

Nauczyliśmy się, jak kompresować i rozstrzygnąć dokument lub katalog za pomocą narzędzia Ansible. Najpierw mamy domyślny katalog, który przekonwertowaliśmy na moduł archiwum. Następnie pozbawiliśmy zarchiwizowanego katalogu, wdrażając przykład .Format zip ze szczegółowym wyjaśnieniem.