Jak używać modułów ansible do zadań administracyjnych systemu - część 6

Jak używać modułów ansible do zadań administracyjnych systemu - część 6

W tym Część 6 z serii Ansible, omówiliśmy kilka modułów Ansible W poprzednich tematach, teraz pójdziemy głębiej i odkryjemy dodatkowe moduły, które są pomocne w wykonywaniu wielu zadań administracyjnych systemu.

Otrzymasz podstawowe wyobrażenie o każdym module i przyjrzysz się dostępnym opcjom wykonania niektórych zadań.

Na tej stronie:
  1. Zarządzanie pakietami oprogramowania i repozytoriami w Ansible
  2. Zarządzanie usługami za pomocą Ansible
  3. Zarządzanie zaporą z Ansible
  4. Archiwizacja plików lub folderów z Ansible
  5. Zaplanuj zadania z Ansible
  6. Zarządzaj użytkownikami i grupami z Ansible
  7. Utwórz pliki i katalogi za pomocą Ansible
  8. Zarządzanie przechowywaniem z Ansible
  9. Zarządzanie systemami plików z Ansible

1. Zarządzanie pakietami oprogramowania i repozytoriami w Ansible

Podczas instalowania pakietów w systemach Linux różne dystrybucje są dostarczane z różnymi menedżerami pakietów. Dla Czerwony kapelusz dystrybucje, mamy Yum i DNF, podczas gdy dla Debian Smaki, są trafne.

Ansible jest wyposażony w moduł o nazwie pakiet, co eliminuje potrzebę korzystania z różnych menedżerów pakietów dla różnych systemów. Automatycznie używa odpowiedniego menedżera pakietów systemu hosta, w ten sposób ułatwia pracę.

Zainstaluj pakiety oprogramowania

Na przykład, aby zainstalować HTOP w grupie zastępy niebieskie obejmujący oba Debian I Czerwony kapelusz dystrybucje używają pakiet moduł, jak pokazano w install_htop.yml Playbook poniżej.

--- - Nazwa: Zainstaluj HTOP na hostach Ubuntu i Centos: Wszystkie zadania: - Pakiet: Nazwa: HTOP Stan: zainstalowany 
Zainstaluj oprogramowanie za pomocą modułu pakietu Ansible

NOTATKA: Nazwy pakietów mogą różnić się w zależności od systemu operacyjnego do drugiego. Na przykład mamy httpd W Czerwony kapelusz dystrybucje i Apache2 Do Debian/Ubuntu Wszystkie systemy oznaczają serwer WWW Apache. Dlatego przy przekazywaniu tych pakietów należy zachować dodatkową ostrożność. Zwykle najlepiej używać zmiennych lub instrukcji warunkowych.

2. Zarządzanie usługami za pomocą Ansible

Następnie mamy praca moduł, który jest używany do zarządzania usługami w systemach Linux. Służy do uruchamiania, zatrzymywania lub ponownego uruchomienia usługi. Możesz go również użyć, aby włączyć usługę, aby po uruchomieniu systemu automatycznie uruchamia usługę.

Rozpocznij i włącz usługę

Na przykład, aby uruchomić i włączyć Apache Webserver RHEL 8, Użyj usługi, jak pokazano.

--- - Nazwa: Uruchom i włącz hosty usług httpd: WebServers Zadania: - usługa: Nazwa: HTTPD Stan: uruchomione włączone: Tak 
Zarządzaj usługami z Ansible

Zatrzymaj usługę

Zatrzymać httpd usługa, przejdź zatrzymany atrybut.

--- - Nazwa: Zatrzymaj hosty usług httpd: WebServers Zadania: - Service: Nazwa: httpd Stan: Zatrzymany 
Zatrzymaj usługę z Ansible

Uruchom ponownie usługę

Zrestartować httpd usługa, przejdź uruchomiono ponownie atrybut.

--- - Nazwa: Uruchom ponownie hosty usług httpd: Webservers Zadania: - Service: Nazwa: httpd Stan: zrestartowany 
Uruchom ponownie usługę za pomocą Ansible

3. Zarządzanie zaporą z Ansible

Innym ważnym administratorzy systemu zadań jest zarządzanie zaporą zapory. W Ansible Playbooks było to znacznie łatwiejsze Firewalld I UFW moduły. Możesz skonfigurować zaporę, aby umożliwić lub zablokować port lub usługę, a nawet adres źródłowy.

Wskoczmy i spójrzmy na kilka przykładów:

Otwarte/blokowe port 80 w Firewalld

--- - Nazwa: Zezwalaj na port 80 hosty: WebServers Zadania: -fireWalld: Port: 80/TCP Stałe: tak Stan: Włączone 

W powyższym podręczniku, port 80 jest dozwolony przez zaporę ogniową.

Opcja Stałe: tak egzekwuje zasadę zapory i sprawia, że ​​jest wytrwał. Jednak ta zasada nie ma zastosowania natychmiast. Wchodzi w życie dopiero po ponownym uruchomieniu. Aby natychmiast egzekwować regułę, użyj opcji Natychmiast: tak.

Aby określić dozwolone adresy, użyj Źródło: 0.0.0.0/0 oświadczenie.

- Firewalld: Źródło: 192.168.0.0/24 Strefa: Stan publiczny: włączony 

Aby określić zakres portów, które mogą mieć możliwość korzystania z opcji portu w następujący sposób:

- Firewalld: Port: 213-567/UDP Permanent: Tak Stan: Włączone 

Aby zablokować port, zmień opcję stanu na wyłączony jak pokazano:

-Firewalld: Port: 80/TCP Permanent: Tak Stan: Wyłączony 

Dodaj/blokuj usługę w Firewalld

Oprócz dodawania/blokowania portu, możesz również zastosować te same zasady do usługi. I to jest dość proste. Po prostu użyj praca moduł i dołącz usługę do dodania i upewnij się, że opcja stanu jest ustawiona włączony.

- Firewalld: Service: HTTPS Permanent: True Stan: Włączone 

Aby zablokować zestaw usług państwo opcja wyłączony.

- Firewalld: Service: HTTPS Permanent: True Stan: niepełnosprawny 

4. Archiwizacja plików lub folderów z Ansible

Archiwizacja odnosi się do kompresji pliku lub folderu do formatu, który jest łatwo przenośny i mniejszy rozmiar. Ansible wysyła moduł o nazwie archiwum. Kompresowanie pliku jest tak proste, jak to tylko możliwe. Wszystko, co jest wymagane, to określenie ścieżki źródłowej pliku i docelowego pliku skompresowanego.

Skompresuj katalog

Rozważ podręcznik Kompresja.yml poniżej.

--- - Hosty: WebServers Zadania: • Nazwa: kompresowanie archiwum folderu://opt/data/web dest:/tmp/Web.GZ 

Powyższy podręcznik kompresuje /Opt/Data/Web katalog i oszczędza to /TMP/Web.GZ.

Stwórz archiwum z Ansible

Kompresuj katalog za pomocą formatu

Domyślny format kompresji to .GZ, Można to jednak określić za pomocą atrybutu formatu. Przypróbuj następny podręcznik.

--- - Hosty: WebServers Zadania: - Nazwa: Utwórz archiwum archiwum ZIP: PATH:/Opt/Data/Web Dest:/TMP/Web Format: ZIP 

Poradnik powyżej kompresuje /Opt/Data/Web katalog do /TMP/Web.zamek błyskawiczny.

Nieprzecznij plik

Możesz także wyfrespresja kompresowanego pliku za pomocą Niezbędne atrybut. Rozważ poniższy podręcznik.

--- - Hosty: Zadania WebServers: - Nazwa: Ungrespress /TMP /Web.GZ do/opt katalog na ansible kontroler Unarchive: src:/tmp/web.BZ2 dest: /opt / 

Poradnik powyżej rozpoznuje plik /Opt/Data/Web.GZ Do /optować na kontrolerze ansible.

Uzupełnij plik w zdalnym węźle

Aby określić zdalny system źródłowy, użyj remote_src = tak opcja.

--- - Hosty: Zadania WebServers: - Nazwa: Ungrespress /TMP /Web.BZ2 do/opt na zdalnym hoście Unarchive: Src:/tmp/Web.BZ2 dest: /opt / remote_src = tak 

Poradnik powyżej rozpoznuje plik /TMP/Web.BZ2 na zdalnym węźle do /optować/ informator.

5. Zaplanuj zadania z Ansible

Cron moduł Pomaga w planowaniu pracy w Ansible Playbooks.

Utwórz zaplanowane zadanie

Rozważ poniższy podręcznik.

--- - Gospodarze: WebServers Zadania: - Nazwa: Utwórz zaplanowane zadanie Cron: Nazwa: Uruchom obecność pracownika: SH/Opt/Scripts/Screate.SH Miesiąc: 4 dzień: 5 godzina: 17 minut: 00 

Playbook prowadzi skrypt frekwencji 5 kwietnia o 17:00.

Zaplanuj skrypt w określonym dniu

Jeśli chcesz zaplanować ten skrypt, aby uruchomić tylko wtedy, gdy 5 kwietnia jest poniedziałek, użyj atrybutu w dni powszednie: 1. 0 oznacza niedzielę i 6 oznacza sobotę według notacji Cron.

Miesiąc: 4 dzień: 5 godzina: 17 minut: 00 WEDYDED: 1 

Jakiś gwiazdka (*) W dowolnym z tych pól wskazuje na dowolną wartość.

Uruchom pracę w dniu

Aby uruchomić pracę 5 kwietnia o 17:00 bez względu na dzień powszedni, użyj parametrów czasowych, jak pokazano.

Miesiąc: 4 dzień: 5 godzina: 17 minut: 00 Wejdź: * 

Wykonaj pracę w określonym dniu każdego miesiąca

Aby wykonać zadanie CRON w piątym dniu każdego miesiąca o 17:00.

Miesiąc: * Dzień: 5 godzina: 17 minut: 00 Wejdź: * 

Wykonywać pracę codziennie

Aby wykonywać zadanie CRON codziennie o 17:00, ustaw ustawienia czasu, jak pokazano:

Miesiąc: * Dzień: * godzina: 17 minut: 00 Wejdź: * 

Wykonaj pracę co 5 godzin

Aby wykonać zadanie CRON co 5 godzin, użyj wartości kroku */5 jak pokazano.

Miesiąc: * dzień: * godzina: */5 minut: * dzień powszedni: * 

6. Zarządzaj użytkownikami i grupami z Ansible

Możesz także zarządzać użytkownikami i grupami w Ansible Playbooks dość bez wysiłku.

Utwórz nowego użytkownika

Aby utworzyć nowego użytkownika, użyj użytkownik moduł, jak pokazano.

--- - Hosty: Webservers Zadania: - Nazwa: Utwórz nowego użytkownika użytkownika: Nazwa: JACK 

Możesz także dodać dodatkowe opcje, takie jak UID, grupy.

- Nazwa: Utwórz nowego użytkownika użytkownika: Nazwa: Jack Komentarz: Jack Peters UID: 1002 Grupa: Administrators Shell: /Bin /Bash 

Usuń użytkownika

Aby usunąć użytkownika, użyj Usuń: Tak oświadczenie.

- Nazwa: Usuń użytkownika „Jack” Użytkownik: Nazwa: JACK Stan: nieobecny Usuń: Tak 

Utwórz nową grupę

Aby utworzyć nową grupę, użyj Grupa moduł.

- Nazwa: Utwórz grupę grupową: Nazwa: Programiści 

7. Utwórz pliki i katalogi za pomocą Ansible

Aby utworzyć pliki katalogów, użyj plik moduł.

Utwórz nowy katalog

Na przykład, aby utworzyć nowy katalog.

--- - Hosty: WebServers Zadania: - Nazwa: Utwórz nowy plik katalogu: ścieżka: /opt /App Stan: Directory 

Możesz dodać inne atrybuty, takie jak uprawnienia właściciela, grupy i plików.

- Hosty: WebServers Zadania:-Nazwa: Utwórz nowy plik katalogu: ścieżka: /opt /Web Stan: Directory Właściciel: WWW-DATA Grupa: www-DATA Tryb: 0644 

Dodatkowo możesz tworzyć katalogi rekurencyjnie za pomocą Reurse: Tak oświadczenie.

--- - Hosty: WebServers Zadania:-Nazwa: Utwórz katalogi rekurencyjnie Plik://opt/Web/App Stan: Directory właściciel: WWW-DATA Grupa: WWW-DATA Tryb: 0644 Recurse: Tak 

Utwórz plik

Aby utworzyć plik, użyj Stan: dotyk opcja.

--- - Hosty: WebServers Zadania: - Nazwa: Utwórz nowy plik: ścieżka:/opt/web/index.html Stan: dotyk Właściciel: WWW-DATA Grupa: WWW-DATA Tryb: 0644 

8. Zarządzanie przechowywaniem z Ansible

lvg Moduł służy do konfigurowania objętości i grup LVM.

Utwórz grupę woluminów LVM

Rozważ podręcznik poniżej:

--- - Hosty: WebServers Zadania: • Nazwa: Utwórz LVM Volume Group LVG: VG: VG1 PVS: /dev /sda1 pesize: 32 

To tworzy grupę woluminów na górze /dev/sda1 partycja o rozmiarze fizycznym 32 MB.

Po utworzeniu użyj LVOL moduł do utworzenia woluminu logicznego, jak pokazano

Utwórz logiczny wolumin

--- - Hosty: WebServers Zadania: - Nazwa: Utwórz objętość LVM LVOL: VG: VG1 LV: LVOL1 PVS: /dev /sda1 

9. Zarządzanie systemami plików z Ansible

Aby utworzyć system plików na urządzeniu blokowym, użyj system plików moduł.

Utwórz system plików

Poniższy podręcznik tworzy typ systemu plików XFS na objętości bloku.

--- - Hosty: WebServers Zadania: - Nazwa: Utwórz system plików: fstype: xfs dev:/dev/vg1/lvol1 

Zamontuj system plików

Następnie możesz zamontować objętość bloku za pomocą uchwyt Moduł, jak pokazano w poniższym podręczniku:

--- - Hosty: WebServers Zadania: - Nazwa: zamontuj mocowanie systemu plików: fstype: xfs src:/dev/vg1/lvol1 ścieżka:/opt/internet: zamontowany 
Wniosek

To kończy temat. Omówiliśmy różne zadania administracyjne systemu, które można wykonać za pomocą określonych wbudowanych modułów w Ansible Playbooks.