Tkanina - Zautomatyzuj zadania administracyjne Linux i wdrażania aplikacji w SSH

Tkanina - Zautomatyzuj zadania administracyjne Linux i wdrażania aplikacji w SSH

Jeśli chodzi o zarządzanie zdalnymi maszynami i wdrażaniem aplikacji, istnieje kilka narzędzi linii poleceń, chociaż wiele ma wspólny problem braku szczegółowej dokumentacji.

W tym przewodniku omówimy kroki, aby wprowadzić i rozpocząć, jak używać tkaniny, aby poprawić administrowanie grupami serwerów.

Zautomatyzuj zadania administracyjne Linux za pomocą tkaniny

Tkanina to biblioteka Pythona i potężne narzędzie wiersza poleceń do wykonywania zadań administracyjnych systemu, takich jak wykonywanie poleceń SSH na wielu maszynach i wdrażaniu aplikacji.

Przeczytaj także: Użyj skorupy powłoki, aby zautomatyzować zadania konserwacji systemu Linux

Posiadanie praktycznej wiedzy na temat Pythona może być pomocne podczas korzystania z Tkanina, ale z pewnością nie będzie konieczne.

Powody, dla których powinieneś wybrać tkaninę niż inne alternatywy:

  1. Prostota
  2. Jest dobrze udokumentowany
  3. Nie musisz uczyć się innego języka, jeśli jesteś już facetem Python.
  4. Łatwy w instalacji i obsłudze.
  5. Jest szybki w swoich operacjach.
  6. Obsługuje równoległe zdalne wykonywanie.

Jak zainstalować narzędzie do automatyzacji tkaniny w Linux

Ważną cechą w tkaninie jest to, że zdalne maszyny, które musisz administrować, muszą tylko zainstalować standardowy serwer OpensSh. Potrzebujesz tylko określonych wymagań zainstalowanych na serwerze, z którego administrujesz zdalnymi serwerami, zanim będziesz mógł rozpocząć.

Wymagania:

  1. Python 2.5+ z nagłówkami rozwojowymi
  2. Python-SeTuptools i PIP (opcjonalnie, ale preferowane) GCC

Tkanina można łatwo zainstalować za pomocą pypeć (Wysoce zalecane), ale możesz również wybrać domyślny menedżer pakietów Yum, DNF lub APT-Get do instalacji pakietu tkaniny, zwykle nazywanych tkanina Lub Python-Fabric.

Dla Rhel/Centos Oparte na rozkładach, musisz mieć zainstalowane i włączone w systemie repozytorium EPEL.

# Yum Zainstaluj tkaninę [na systemach opartych na Redhat] # DNF Instaluj tkankę [w wersjach Fedora 22+] 

Dla Debian i to instrumenty pochodne, takie jak Ubuntu I Mennica Użytkownicy mogą po prostu zrobić apt-get Aby zainstalować opakowanie tkaniny, jak pokazano:

# apt-get instaluj tkaninę 

Jeśli chcesz zainstalować wersję programistyczną, możesz użyć pypeć Aby zdobyć najnowszy oddział główny.

# Yum Zainstaluj Python-Pip [na systemach opartych na Redhat] # DNF Instaluj Python-Pip [w wersjach Fedora 22+] # apt-get Instaluj Python-Pip [na systemach opartych na debian] 

Po pomyślnym zainstalowaniu PIP możesz użyć PIP do pobrania najnowszej wersji materiału, jak pokazano:

# tkanina instaluj pip 

Jak używać tkaniny do automatyzacji zadań administracyjnych Linux

Więc zacznijmy od tego, jak możesz używać tkaniny. Podczas procesu instalacji nazywany skryptem Python Fab został dodany do katalogu na twojej drodze. Fab Skrypt wykonuje całą pracę podczas używania tkaniny.

Wykonanie poleceń na lokalnym komputerze Linux

Według konwencji musisz zacząć od utworzenia pliku Python o nazwie Fabfile.py Korzystanie z ulubionego edytora. Pamiętaj, że możesz nadać temu plik inną nazwę, jak chcesz, ale musisz określić ścieżkę pliku w następujący sposób:

# Fabric - -fabfile/ścieżka/do/plik/plik.py 

Zastosowanie tkaniny Fabfile.py wykonywać zadania. Fabfile powinien znajdować się w tym samym katalogu, w którym uruchamiasz narzędzie tkaniny.

Przykład 1: Stwórzmy podstawę Witaj świecie Pierwszy.

# vi Fabfile.py 

Dodaj te wiersze kodu w pliku.

def hello (): print („hello świat, społeczność Tecmint”) 

Zapisz plik i uruchom poniższe polecenie.

# Fab Hello 
Zastosowanie narzędzia do tkaniny

Spójrzmy teraz na przykład Fabfile.py Aby wykonać czas aktu polecenie na maszynie lokalnej.

Przykład 2: Otwórz nowy Fabfile.py Plik w następujący sposób:

# vi Fabfile.py 

I wklej następujące wiersze kodu w pliku.

#! /usr/bin/env Python z tkaniny.API Importuj lokalny deftime (): lokalny („uptime”) 

Następnie zapisz plik i uruchom następujące polecenie:

# fabtime czasoptime 
Tkanina: Sprawdź czas aktualizacji systemu

Wykonanie poleceń na zdalnych maszynach Linux w celu automatyzacji zadań

API materiału używa słownika konfiguracyjnego, który jest odpowiednikiem Pythona dla tablicy asocjacyjnej znanej jako Env, który przechowuje wartości, które kontrolują, co robi tkanina.

Env.zastępy niebieskie to lista serwerów, na których chcesz uruchomić zadania tkaninowe. Jeśli Twoja sieć jest 192.168.0.0 i chęć zarządzać hostem 192.168.0.2 I 192.168.0.6 z Twoim Fabfile, możesz skonfigurować Env.zastępy niebieskie następująco:

#!/usr/bin/env Python z tkaniny.API Import Env Env.gospodarze = [192.168.0.2 ', „192.168.0.6 '] 

Powyższy wiersz kodu określa tylko hosty, na których będziesz uruchamiać zadania tkanin, ale nic więcej nie rób więcej. Dlatego możesz zdefiniować niektóre zadania, tkanina zapewnia zestaw funkcji, których można użyć do interakcji z zdalnymi maszynami.

Chociaż istnieje wiele funkcji, najczęściej używane to:

  1. uruchomić - który uruchamia polecenie powłoki na zdalnej maszynie.
  2. lokalny - który uruchamia polecenie na komputerze lokalnym.
  3. sudo - który uruchamia polecenie powłoki na zdalnym komputerze, z uprawnieniami korzeniowymi.
  4. Dostawać - który pobiera jeden lub więcej plików z zdalnego urządzenia.
  5. Umieścić - który przesyła jeden lub więcej plików do zdalnego komputera.

Przykład 3: Aby odzwierciedlić wiadomość na wielu maszynach Fabfile.py takie jak ten poniżej.

#!/usr/bin/env Python z tkaniny.API Import Env, Run Env.gospodarze = [192.168.0.2 ', „192.168.0.6 '] def echo (): run ("echo -n' hello, jesteś dostrojony do Tecmint '") 

Aby wykonać zadania, uruchom następujące polecenie:

# Fab Echo 
Tkanina: Zautomatyzuj zadania Linux na zdalnym Linux

Przykład 4: Możesz poprawić Fabfile.py które stworzyłeś wcześniej, aby wykonać czas aktu polecenie na komputerze lokalnym, aby uruchomiła czas aktu Polecenie, a także sprawdza użycie dysku za pomocą polecenia DF na wielu maszynach w następujący sposób:

#!/usr/bin/env Python z tkaniny.API Import Env, Run Env.gospodarze = [192.168.0.2 ', „192.168.0.6 '] deftime (): run (' uptime ') def disk_space (): run (' df -h ') 

Zapisz plik i uruchom następujące polecenie:

# Fab Uptime # Fab disk_space 
Tkanina: automatyzacja zadań w wielu systemach Linux

Automatycznie wdrażaj stos lamp na zdalnym serwerze Linux

Przykład 4: Spójrzmy na przykład do wdrożenia LAMPA (Linux, Apache, MySQL/MariaDB i PHP) na zdalnym serwerze Linux.

Napiszemy funkcję, która pozwoli na zdalne instalowanie lampy za pomocą uprawnień korzeniowych.

Dla Rhel/Centos i Fedora
#!/usr/bin/env Python z tkaniny.API Import Env, Run Env.gospodarze = [192.168.0.2 ', „192.168.0.6 '] def wdrażanie_lamp (): run ("yum instaluj -y httpd mariadb-server php php-mysql") 
Dla Mint Debian/Ubuntu i Linux
#!/usr/bin/env Python z tkaniny.API Import Env, Run Env.gospodarze = [192.168.0.2 ', „192.168.0.6 '] def wdrażanie_lamp (): sudo ("apt-get install -q apache2 mysql-server libapache2-mod-php5 php5-mysql") 

Zapisz plik i uruchom następujące polecenie:

# Fab wdrożenie_lamp 

Notatka: Ze względu na duże wyjście nie jest w stanie utworzyć screencast (animowany GIF) w tym przykładzie.

Teraz możesz zautomatyzować zadania zarządzania serwerami Linux za pomocą tkaniny oraz jej funkcji i przykładów podanych powyżej…

Kilka przydatnych opcji do użycia z tkaniną

  1. Możesz biec Fab -Help Aby wyświetlić informacje o pomocy i długą listę dostępnych opcji wiersza poleceń.
  2. Ważną opcją jest -fabfile = ścieżka Pomaga ci to określić inny plik modułu Python, aby zaimportować inaczej Fabfile.py.
  3. Aby określić nazwę użytkownika do użycia podczas podłączania się do zdalnych hostów, użyj -Użytkownik = użytkownik opcja.
  4. Używać hasła do uwierzytelnienia i/lub sudo, Użyj -hasło = hasło opcja.
  5. Aby wydrukować szczegółowe informacje o nazwie polecenia, użyj -wyświetlacz = nazwa opcja.
  6. Aby wyświetlić formaty używać -lista Opcja, wybory: krótkie, normalne, zagnieżdżone, użyj -List-format = format opcja.
  7. Aby wydrukować listę możliwych poleceń i wyjść, dołącz -lista opcja.
  8. Możesz określić lokalizację pliku konfiguracyjnego do użycia za pomocą -config = ścieżka opcja.
  9. Aby wyświetlić kolorowe wyjście błędu, użyj -Colorize-błąd.
  10. Aby wyświetlić numer wersji programu i wyjść, użyj -wersja opcja.

Streszczenie

Fabric jest potężnym narzędziem i jest dobrze udokumentowane i zapewnia łatwe użycie dla początkujących. Możesz przeczytać pełną dokumentację, aby lepiej ją zrozumieć. Jeśli masz jakieś informacje, które można dodać lub napotykać wszelkie błędy, które napotykasz podczas instalacji i użytkowania, możesz zostawić komentarz, a my znajdziemy sposoby ich naprawy.

Odniesienie: dokumentacja tkaniny