Kako instalirati i konfigurirati Ansible kontrolni čvor - 2. dio


U prethodnoj temi naučićete o osnovnim Ansible terminologijama i osnovnim konceptima. U ovoj temi (2. dio serije Ansible), pokazat ćemo kako možete instalirati i konfigurirati Ansible kontrolni čvor na RHEL 8.

U našem podešavanju koristit ćemo 1 Ansible server i 2 udaljena Linux čvora:

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

Šta je Ansible kontrolni čvor?

Kontrolni čvor je Linux server koji ima instaliran Ansible i koristi se za upravljanje udaljenim hostovima ili čvorovima. Ovi udaljeni sistemi su poznati kao Upravljani hostovi ili Upravljani čvorovi.

U gornjim postavkama, kontrolni čvor je RHEL 8 poslužitelj na kojem će biti instaliran Ansible i Debian 10 & CentOS 8< su upravljani domaćini.

NAPOMENA: Ansible je instaliran samo na kontrolnom čvoru, a ne i na upravljanim hostovima.

Korak 1: Instaliranje Python 3

Prema zadanim postavkama, RHEL 8 dolazi s Python-om 3 i možete provjeriti verziju Pythona instaliranu na vašem serveru tako što ćete pokrenuti.

python3 -V

Ako iz bilo kojeg razloga Python3 nije instaliran, instalirajte ga pomoću sljedeće dnf komande.

dnf install python3

Ako na vašem sistemu RHEL 8 postoji više verzija Pythona, možete postaviti Python 3 kao zadanu verziju Pythona trčanjem.

alternatives --set python /usr/bin/python3

Korak 2: Omogućite Zvanični RedHat Repository

Nakon instaliranja Python3, uvjerite se da ste omogućili RedHatov službeni repozitorij za Ansible kao što je prikazano ispod.

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

NAPOMENA: Da bi gornja komanda radila, uvjerite se da ste registrovali svoj RHEL 8 za RedHat pretplatu.

Korak 3: Instalirajte Ansible na RHEL 8

Da instalirate Ansible na kontrolnom čvoru koji je naš RHEL 8 sistem, pokrenite naredbu.

dnf install ansible -y

Jednom instaliran, možete provjeriti instaliranu verziju Ansible tako što ćete pokrenuti naredbu.

ansible --version

Korak 4: Kreiranje datoteke statičkog inventara hosta

Do sada smo uspješno instalirali ansible na Control Node koji je naš RHEL 8 server. Udaljeni čvorovi kojima će upravljati kontrolni čvor moraju biti definirani u datoteci koja se zove inventar fajl. Datoteka inventara je običan tekstualni fajl koji se nalazi na kontrolnom čvoru i sastoji se od imena hostova ili IP adresa udaljenih hostova.

Statički host fajl je običan tekstualni fajl koji sadrži listu upravljanih čvorova definisanih njihovim IP adresama ili imenima hostova. Kreirajmo statičku datoteku „hosts“ u direktoriju /etc/ansible/.

vi /etc/ansible/hosts

Zatim definirajte grupu ili grupe za vaše upravljane hostove. Imamo 2 upravljana hosta kao što je ranije viđeno u postavci na uvodu ove teme. Iz podešavanja, statička host datoteka će biti definirana na sljedeći način:

[webserver]
192.168.0.15

[database_server]
192.168.0.200

Sačuvajte i izađite iz datoteke inventara.

Za popis upravljanih hostova pokrenite:

ansible all -i hosts --list-hosts

Do sada smo uspjeli instalirati Ansible u kontrolni čvor i definirati upravljane hostove u statičkom Host fajlu koji se nalazi na kontrolnom čvoru.

Zatim ćemo vidjeti kako možemo upravljati ili kontrolirati naše udaljene ili upravljane hostove.

Korak 5: Postavite Ansible kontrolni čvor za povezivanje s udaljenim čvorovima

Za Kontrolni čvor Ansible (RHEL 8) za upravljanje udaljenim host sistemima (Debian 10 i CentOS 8) moramo podesiti SSH autentifikaciju bez lozinke za udaljene hostove. Da bi se to dogodilo, potrebno je da generišete par SSH ključeva i sačuvate javni ključ na udaljenim čvorovima.

Na Ansible kontrolnom čvoru, prijavite se kao običan korisnik i generirajte par SSH ključeva pokretanjem naredbe.

su tecmint
ssh-keygen

Zatim kopirajte javni ssh ključ na udaljene čvorove kao što je prikazano.

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

Nakon što smo dodali javne ključeve svim našim udaljenim čvorovima, mi ćemo izdati ping naredbu iz Ansible Control čvora kako bismo osigurali da su dostupni.

ansible -m ping all

Iz gornjeg izlaza možemo jasno vidjeti da je komanda ping bila uspješna i da smo bili u mogućnosti testirati dostupnost svih čvorova.

Zaključak

U ovom vodiču smo uspješno instalirali i postavili Ansible na kontrolnom čvoru koji pokreće RHEL 8. Kasnije smo definirali udaljene hostove u statičkoj datoteci hosta i konfigurirali kontrolni čvor za povezivanje i kontrolu upravljanih hostova postavljanjem SSH autentifikacije bez lozinke.