Wyszukiwanie w witrynie

Jak zainstalować i skonfigurować węzeł sterujący Ansible — część 2


W poprzednim temacie poznałeś podstawową terminologię Ansible i podstawowe pojęcia. W tym temacie (część 2 serii Ansible) pokażemy, jak zainstalować i skonfigurować węzeł kontrolny Ansible w RHEL 8.

W naszej konfiguracji będziemy używać 1 serwera Ansible i 2 zdalnych węzłów Linux:

Control Node 1: RHEL 8 Server     IP: 192.168.0.108         Ansible Server
Managed Host 1: Debian 10         IP: 192.168.0.15          Webserver
Managed Host 2: CentOS 8          IP: 192.168.0.200	    Database Server

Co to jest węzeł kontrolny Ansible?

Węzeł sterujący to serwer Linux, na którym zainstalowano Ansible i służy do zarządzania zdalnymi hostami lub węzłami. Te systemy zdalne nazywane są Zarządzanymi hostami lub Zarządzanymi węzłami.

W powyższej konfiguracji węzłem kontrolnym jest serwer RHEL 8, na którym zostanie zainstalowany Ansible oraz Debian 10 i CentOS 8< to zarządzane hosty.

UWAGA: Ansible jest instalowany tylko w węźle kontrolnym, a nie na zarządzanych hostach.

Krok 1: Instalacja Pythona 3

Domyślnie RHEL 8 jest dostarczany z Pythonem 3 i możesz sprawdzić wersję Pythona zainstalowaną na swoim serwerze, uruchamiając go.

python3 -V

Jeśli z jakiegoś powodu Python3 nie jest zainstalowany, zainstaluj go, używając następującego polecenia dnf.

dnf install python3

Jeśli w systemie RHEL 8 istnieje wiele wersji Pythona, możesz ustawić Pythona 3 jako domyślną wersję Pythona biegiem.

alternatives --set python /usr/bin/python3

Krok 2: Włącz oficjalne repozytorium RedHat

Po zainstalowaniu Python3 upewnij się, że włączyłeś oficjalne repozytorium RedHat dla Ansible, jak pokazano poniżej.

subscription-manager repos --enable ansible-2.8-for-rhel-8-x86_64-rpms

UWAGA: Aby powyższe polecenie zadziałało, upewnij się, że zarejestrowałeś RHEL 8 w ramach subskrypcji RedHat.

Krok 3: Zainstaluj Ansible na RHEL 8

Aby zainstalować Ansible w węźle kontrolnym, którym jest nasz system RHEL 8, uruchom komendę.

dnf install ansible -y

Po zainstalowaniu możesz sprawdzić zainstalowaną wersję Ansible, uruchamiając polecenie.

ansible --version

Krok 4: Tworzenie statycznego pliku spisu hosta

Jak dotąd pomyślnie zainstalowaliśmy ansible w węźle kontrolnym, który jest naszym serwerem RHEL 8. Węzły zdalne, którymi będzie zarządzał węzeł kontrolny, muszą zostać zdefiniowane w pliku zwanym plikiem inwentarza. Plik inwentarza to zwykły plik tekstowy znajdujący się w węźle kontrolnym i składający się z nazw hostów lub adresów IP zdalnych hostów.

Statyczny plik hosta to zwykły plik tekstowy zawierający listę zarządzanych węzłów zdefiniowaną na podstawie ich adresów IP lub nazw hostów. Utwórzmy statyczny plik „hosts” w katalogu /etc/ansible/.

vi /etc/ansible/hosts

Następnie zdefiniuj grupę lub grupy zarządzanych hostów. Mamy 2 zarządzane hosty, jak widzieliśmy wcześniej w konfiguracji na wstępie tego tematu. Podczas instalacji statyczny plik hosta zostanie zdefiniowany w następujący sposób:

[webserver]
192.168.0.15

[database_server]
192.168.0.200

Zapisz i wyjdź z pliku inwentarza.

Aby wyświetlić listę zarządzanych hostów, uruchom:

ansible all -i hosts --list-hosts

Jak dotąd udało nam się zainstalować Ansible w węźle kontrolnym i zdefiniować zarządzane hosty w statycznym pliku Host znajdującym się w węźle kontrolnym.

Następnie zobaczymy, jak możemy zarządzać lub kontrolować nasze zdalne lub zarządzane hosty.

Krok 5: Skonfiguruj węzeł kontrolny Ansible do łączenia się z węzłami zdalnymi

Dla węzła sterującego Ansible (RHEL 8) do zarządzania zdalnymi systemami hostów (Debian 10 i CentOS 8) musimy skonfigurować uwierzytelnianie SSH bez hasła na zdalnych hostach. Aby tak się stało, należy wygenerować parę kluczy SSH i zapisać klucz publiczny w zdalnych węzłach.

W węźle sterującym Ansible zaloguj się jako zwykły użytkownik i wygeneruj parę kluczy SSH, uruchamiając komendę.

su tecmint
ssh-keygen

Następnie skopiuj publiczny klucz ssh do zdalnych węzłów, jak pokazano.

ssh-copy-id [email 	        (For Debian 10 node)
ssh-copy-id [email 	        (For CentOS 8 node)

Po dodaniu kluczy publicznych do wszystkich naszych zdalnych węzłów wydamy polecenie ping z węzła Ansible Control, aby upewnić się, że są one osiągalne.

ansible -m ping all

Z powyższych danych wyjściowych wyraźnie widać, że polecenie ping powiodło się i mogliśmy przetestować osiągalność wszystkich węzłów.

Wniosek

W tym przewodniku pomyślnie zainstalowaliśmy i skonfigurowaliśmy Ansible w węźle kontrolnym z uruchomionym RHEL 8. Później zdefiniowaliśmy zdalne hosty w statycznym pliku hosta i skonfigurowaliśmy węzeł kontrolny tak, aby łączył się i kontrolował zarządzane hosty poprzez skonfigurowanie uwierzytelniania SSH bez hasła.