Jak używać modułów ansible do zadań administracyjnych systemu - część 6
- 3861
- 619
- Klaudia Woś
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:
- Zarządzanie pakietami oprogramowania i repozytoriami w Ansible
- Zarządzanie usługami za pomocą Ansible
- Zarządzanie zaporą z Ansible
- Archiwizacja plików lub folderów z Ansible
- Zaplanuj zadania z Ansible
- Zarządzaj użytkownikami i grupami z Ansible
- Utwórz pliki i katalogi za pomocą Ansible
- Zarządzanie przechowywaniem z Ansible
- 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: zainstalowanyZainstaluj 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: TakZarzą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: ZatrzymanyZatrzymaj 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: zrestartowanyUruchom 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 AnsibleKompresuj 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.
- « Jak tworzyć szablony w Ansible, aby tworzyć konfiguracje w zarządzanych węzłach - Część 7
- Polo - nowoczesny menedżer plików lekkich dla Linux »