Vyhledávání na webu

Jak nainstalovat a nakonfigurovat Ansible Control Node – část 2


V předchozím tématu se seznámíte se základními terminologiemi Ansible a základními pojmy. V tomto tématu (2. část série Ansible) si ukážeme, jak můžete nainstalovat a nakonfigurovat ovládací uzel Ansible na RHEL 8.

V našem nastavení použijeme 1 Ansible server a 2 vzdálené uzly Linuxu:

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 je to Ansible Control Node?

Řídící uzel je linuxový server, který má nainstalovaný Ansible a používá se pro správu vzdálených hostitelů nebo uzlů. Tyto vzdálené systémy jsou známé jako Spravovaní hostitelé nebo Spravované uzly.

Ve výše uvedeném nastavení je řídicím uzlem server RHEL 8, na který bude nainstalován Ansible, a Debian 10 a CentOS 8< jsou spravovaní hostitelé.

POZNÁMKA: Ansible je nainstalován pouze na řídicím uzlu, nikoli na spravovaných hostitelích.

Krok 1: Instalace Pythonu 3

Ve výchozím nastavení je RHEL 8 dodáván s Pythonem 3 a verzi Pythonu nainstalovanou na vašem serveru můžete ověřit spuštěním.

python3 -V

Pokud z jakéhokoli důvodu není Python3 nainstalován, nainstalujte jej pomocí následujícího příkazu dnf.

dnf install python3

Pokud ve vašem systému RHEL 8 existuje více verzí Pythonu, můžete nastavit Python 3 jako výchozí verzi Pythonu běháním.

alternatives --set python /usr/bin/python3

Krok 2: Povolte oficiální úložiště RedHat

Po instalaci Python3 se ujistěte, že jste povolili oficiální úložiště RedHat pro Ansible, jak je znázorněno níže.

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

POZNÁMKA: Aby výše uvedený příkaz fungoval, ujistěte se, že jste zaregistrovali své RHEL 8 pro předplatné RedHat.

Krok 3: Nainstalujte Ansible na RHEL 8

Chcete-li nainstalovat Ansible na uzel Control, což je náš systém RHEL 8, spusťte příkaz.

dnf install ansible -y

Po instalaci můžete zkontrolovat verzi nainstalované aplikace Ansible spuštěním příkazu.

ansible --version

Krok 4: Vytvoření statického souboru inventáře hostitele

Dosud jsme úspěšně nainstalovali ansible na Control Node, což je náš server RHEL 8. Vzdálené uzly, které má řídící uzel spravovat, musí být definovány v souboru zvaném inventář. Soubor inventáře je prostý textový soubor, který se nachází v řídicím uzlu a skládá se z názvů hostitelů nebo IP adres vzdálených hostitelů.

Statický soubor hostitele je soubor ve formátu prostého textu, který obsahuje seznam spravovaných uzlů definovaných jejich IP adresami nebo názvy hostitelů. Vytvořme statický soubor ‚hosts‘ v adresáři /etc/ansible/.

vi /etc/ansible/hosts

Dále definujte skupinu nebo skupiny pro spravované hostitele. Máme 2 spravované hostitele, jak bylo dříve vidět v nastavení v úvodu tohoto tématu. Z nastavení bude statický soubor hostitele definován následovně:

[webserver]
192.168.0.15

[database_server]
192.168.0.200

Uložte a ukončete soubor inventáře.

Chcete-li zobrazit seznam spravovaných hostitelů, spusťte:

ansible all -i hosts --list-hosts

Doposud se nám podařilo nainstalovat Ansible do řídicího uzlu a definovat spravované hostitele ve statickém souboru hostitele umístěného v řídicím uzlu.

Dále uvidíme, jak můžeme spravovat nebo ovládat naše vzdálené nebo spravované hostitele.

Krok 5: Nastavte Ansible Control Node pro spojení se vzdálenými uzly

Pro řídicí uzel Ansible (RHEL 8) pro správu vzdálených hostitelských systémů (Debian 10 a CentOS 8) musíme nastavit ověřování SSH bez hesla ke vzdáleným hostitelům. Aby k tomu došlo, musíte vygenerovat pár klíčů SSH a uložit veřejný klíč do vzdálených uzlů.

Na ovládacím uzlu Ansible se přihlaste jako běžný uživatel a vygenerujte pár klíčů SSH spuštěním příkazu.

su tecmint
ssh-keygen

Dále zkopírujte veřejný klíč ssh do vzdálených uzlů, jak je znázorněno.

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

Po přidání veřejných klíčů do všech našich vzdálených uzlů vyšleme příkaz ping z uzlu Ansible Control, abychom zajistili, že jsou dosažitelné.

ansible -m ping all

Z výše uvedeného výstupu jasně vidíme, že příkaz ping byl úspěšný a mohli jsme otestovat dosažitelnost všech uzlů.

Závěr

V této příručce jsme úspěšně nainstalovali a nastavili Ansible na řídicím uzlu se systémem RHEL 8. Později jsme definovali vzdálené hostitele ve statickém hostitelském souboru a nakonfigurovali jsme řídicí uzel tak, aby se připojoval a řídil spravované hostitele nastavením ověřování SSH bez hesla.