Ansible to nowoczesne narzędzie automatyzacji typu open source, które ułatwia konfigurowanie i zarządzanie zdalnymi serwerami. Chociaż inne narzędzia automatyzacji mogą pasować do użyteczności Ansible, często są one zbyt złożone niż podstawowe narzędzie automatyzacji.
Z drugiej strony Ansible jest prosty i łatwy w użyciu dla większości użytkowników. Używa formatu YAML do określenia konfiguracji serwerów i zadań wykonanych na zdalnych maszynach. Oferuje również doskonałą funkcję bezpieczeństwa, używając SSH jako domyślnego trybu uwierzytelnienia.
Jednak w niektórych przypadkach możesz nie skonfigurować klawiszy SSH na zdalnym hoście, a zatem musisz wyraźnie określić nazwę użytkownika i hasło
W takim przypadku w tym przewodniku omówi tworzenie podstawowych podręczników i uruchomienie ich na zdalnym hoście, który nie ma skonfigurowanych klawiszy SSH.
Instalowanie Ansible
Zanim będziesz mógł użyć Ansible do zarządzania zdalnymi maszynami, musisz zainstalować je na komputerze, który działa jako węzeł sterujący.
W moim przykładzie pokażę, jak zainstalować go na Rehl/Centos i Fedora, w którym to przypadku wszystko, co muszę zrobić, to użyć polecenia:
$ sudo dnf instaluj ansible
To polecenie zainstaluje na twoim komputerze, co daje wszystkie narzędzia do sterowania wszystkimi zdalnymi maszynami z jednego lokalizacji. Następnym krokiem jest skonfigurowanie pliku hosta.
Konfigurowanie zapasów hostów Ansible
W Ansible zapas to plik zawierający informacje o twoich zdalnych hostach, które będą w ramach zarządzania Ansible. Hosty w pliku zapasów mogą być zorganizowane w grupy i podgrupy i określone za pomocą adresu IP zdalnego urządzenia lub nazwy hosta.
Aby dodać lub usunąć hosty, edytuj plik znajdujący się w/etc/ansible/hosts.
$ sudo vim/etc/ansible/hosts
NOTATKA: Domyślny plik hostów może nie być domyślnie uwzględniony w niektórych instalacjach. Po prostu utwórz jeden, jeśli nie istnieje.
W pliku hostów dodaj wpisy jako:
[Myservers]
192.168.0.20
192.168.0.13
Powyższe określa grupę o nazwie Myservers i ich odpowiednie adresy IP. Pamiętaj, aby zmienić powyższe adresy IP na adresy IP hostów.
Połączenie testowe
Po skonfigurowaniu pliku ekwipunku najlepiej sprawdzić, czy hosty są online i mogą odbierać polecenia od Ansible. Robimy to, nazywając moduł ping ansible. W swoim węźle lokalnym Ansible użyj polecenia pokazanego poniżej:
$ ansible all -m ping -u ubuntu --ask -patas
To użyje nazwy użytkownika Ubuntu i poprosi o hasło SSH. Zapraszam do zmiany nazwy użytkownika na dowolnego pożądanego użytkownika na zdalnym komputerze. Jeśli zdalny host jest gotowy i podajesz prawidłowe hasło SSH, powinieneś zobaczyć odpowiedź jako:
192.168.0.7 | Success =>
„ansible_facts”:
„odkryte_interpreter_python”: „/usr/bin/python3”
,
„Zmieniony”: Fałsz,
"tenis stołowy"
Szybkie podsumowanie
Jak widać z powyższego przykładu, w Ansible, aby określić nazwę użytkownika i hasło do użycia dla hostów zdalnych, używamy -u [nazwa użytkownika] i -ask -pass dla hasła.
Na przykład, aby użyć konta głównego jako logowania ansible, użyj polecenia jako:
$ ansible all -m ping -u root - -cask -patas
NOTATKA: Idealnie jest używać nazwy użytkownika i hasła jako trybu uwierzytelnienia w Ansible. Jeśli to możliwe.
Wniosek
W tym samouczku omówiliśmy, jak zainstalować i tworzyć hosty Ansible. Omówiliśmy również, jak określić nazwę użytkownika ansible i hasło jako sposób uwierzytelnienia. Wszystko to może się przydać, jeśli nie skonfigurowałeś kluczy SSH na zdalnej maszynie.