Jak kontrolować systemd z Ansible

Jak kontrolować systemd z Ansible
Zarządzanie usługami jest jednym z podstawowych wymagań dla każdego użytkownika. Dzięki takim narzędziom, jak SystemD zasilania wszystkich głównych dystrybucji Linux, ważne jest, aby zrozumieć, jak zarządzać usługami.

Ten samouczek nauczy Cię korzystać z modułu Ansible SystemD do uruchamiania, zatrzymywania i zarządzania usługami na dowolnym hoście za pomocą usługi SystemD Init.

Konfigurowanie Ansible

Pierwszym krokiem jest zainstalowanie i skonfigurowanie ansible w twoim systemie. W tym przykładzie uruchamiamy Ansible w systemie Debian 11.

Zacznij od aktualizacji repozytoriów oprogramowania i zainstalowania Ansible:

Sudo apt-get Aktualizacja
sudo apt -get install ansible -y

Po zainstalowaniu możemy skonfigurować zdalne hosty do zarządzania za pomocą węzła sterowania Ansible.

Skonfiguruj zapasy ansible

Otwórz terminal i edytuj plik ekwipunku, jak pokazano w poniższym poleceniu:

sudo vim/etc/ansible/hosts

W pliku inwentaryzacji hosta dodaj adres IP zdalnych hostów, które chcesz zarządzać za pomocą Ansible.

Klucz SSH

Następnym krokiem jest utworzenie pary klucza SSH. To pozwala zalogować się do zdalnego hosta z węzła sterowania Ansible bez konieczności wpisania hasła.

Zacznij od wygenerowania klucza SSH za pomocą polecenia:

$ ssh-keygen

Postępuj zgodnie z podpowiedziami polecenia SSH-KeyGen, aby wygenerować parę klucza publicznego i prywatnego.

Po zakończeniu użyj polecenia SSH-Copy-ID, aby skopiować swój klucz publiczny SSH do hosta zdalnego.

Przykładowe polecenie jest takie, jak pokazano:

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Zastąp nazwę użytkownika i hasło na zdalny adres użytkownika i IP swojego zdalnego hosta.

Następnie wprowadź hasło, aby zalogować się do hosta zdalnego i załaduj parę klawiszy SSH.

Po ukończeniu SSH do zdalnego hosta, a będziesz zalogowany bez podpowiedzi hasła.

Zarządzanie usługami z systemem

Aby zarządzać Usługami na zdalnym hoście za pomocą modułu SystemD, upewnij się, że usługa SystemD i menedżer systemu zarządza zdalnym hostem.

Moduł SystemD jest częścią Ansible Core i jest domyślnie dostępny we wszystkich instalacjach Ansible.

Spójrzmy na kilka przykładów korzystania z modułu SystemD do zarządzania usługami na zdalnych hostach.

Usługi początkowe

Moduł SystemD w Ansible jest prosty w użyciu. Na przykład, aby rozpocząć usługę, przekazać nazwę Usługi i stan, w którym chcesz, aby była w tym przypadku.

Poniższy przykład podręcznika pokazuje, jak uruchomić usługę za pomocą modułu SystemD.

---
- Nazwa: Ansible Start Service
Gospodarze: Wszyscy
GACED_FAFTS: True
Zadania:
- Nazwa: Rozpocznij usługę z systemem
SystemD:
Nazwa: Apache2
Stan: zaczął

Powyższy przykładowy podręcznik uruchomi serwer Apache2 HTTP za pomocą SystemD.

Zapewnienie instalacji i zarządzania przez SystemD na zdalnym hoście jest dobre, aby uniknąć błędów.

Jeśli usługa nie istnieje, Ansible rzuci błąd, jak pokazano na przykładowym zrzucie ekranu poniżej:

Zatrzymywanie usług

Podczas zatrzymywania usług zmień parametr stanu, aby zatrzymać się, jak pokazano w przykładzie podręcznika poniżej:

---
- Nazwa: Ansible Stop Services
Gospodarze: Wszyscy
GACED_FAFTS: True
Zadania:
- Nazwa: Zatrzymaj usługę z systemem
SystemD:
Nazwa: Apache2
Stan: Zatrzymany

Po pomyślnym wykonaniu usługa docelowa na zdalnym hoście zostanie zatrzymana.

Usługi przeładowywania

Aby ponownie załadować usługę za pomocą SystemD, ustaw stan, aby ponownie załadować. Dobrze jest wiedzieć, że możesz użyć pełnej nazwy usługi lub krótkiej, jak to zrobiliśmy w poprzednich podręcznikach.

Na przykład:

---
- Nazwa: Ansible Reload A Service
Gospodarze: Wszyscy
GACED_FAFTS: True
Zadania:
- Nazwa: Usługi ponownie załaduj z systemem
SystemD:
Nazwa: Nginx.praca
Stan: Reloaded

Powyższy przykład ponownie załaduje usługę Nginx, jak przekazano w podręczniku.

Włącz usługi

W przypadkach, w których potrzebujesz usługi, aby zostać uruchomiona w miarę uruchomienia systemu, musisz upewnić się, że usługa jest włączona.

Moduł Ansible SystemD zapewnia włączony parametr, którego możesz użyć, aby umożliwić uruchomienie usługi w uruchomieniu systemowym.

Rozważ przykładowy podręcznik pokazany poniżej:

---
- Nazwa: Ansible Włącz usługę
Gospodarze: Wszyscy
GACED_FAFTS: True
Zadania:
- Nazwa: Włącz usługę Nginx
SystemD:
Nazwa: Nginx.praca
Włączone: prawda
Zamaskowany: nie

Poradnik powyżej umożliwia usługę Nginx i zapewnia, że ​​nie jest zamaskowana.

Zarządzaj wieloma usługami

Możesz także użyć parametru with_Items do zarządzania wieloma usługami. Na przykład, aby rozpocząć różne usługi jednocześnie, możemy utworzyć podręcznik jako:

---
- Nazwa: Ansible Start Services
Gospodarze: Wszyscy
GACED_FAFTS: True
Zadania:
- Nazwa: Rozpocznij te usługi
SystemD:
Nazwa: "item"
Stan: zaczął
Z_ITEMS:
- Apache2
- Mysql
- Redis-serwer

Przykładowy podręcznik powyżej powinien uruchomić usługi w bloku with_items.

Zamknięcie

Ten przewodnik pokazuje, jak zarządzać usługami na zdalnych hostach za pomocą modułu SystemD w Ansible.

Dziękuję za przeczytanie!