Com instal·lar i configurar un node de control Ansible - Part 2


Al tema anterior, aprendreu sobre la sèrie Ansible), demostrarem com podeu instal·lar i configurar un node de control Ansible a RHEL 8.

A la nostra configuració, utilitzarem 1 servidor Ansible i 2 nodes Linux remots:

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

Un node de control és un servidor Linux que té instal·lat Ansible i s'utilitza per gestionar hosts o nodes remots. Aquests sistemes remots es coneixen com a hosts gestionats o nodes gestionats.

A la configuració anterior, el node de control és el servidor RHEL 8 on s'instal·larà Ansible i Debian 10 i CentOS 8 són els amfitrions gestionats.

NOTA: Ansible només s'instal·la al node de control i no als amfitrions gestionats.

Pas 1: instal·lació de Python 3

Per defecte, RHEL 8 ve amb Python 3 i podeu verificar la versió de Python instal·lada al vostre servidor executant-lo.

# python3 -V

Si per qualsevol motiu Python3 no està instal·lat, instal·leu-lo mitjançant la següent comanda dnf.

# dnf install python3

Si hi ha diverses versions de Python al vostre sistema RHEL 8, podeu configurar Python 3 com a versió predeterminada de Python executant-lo.

# alternatives --set python /usr/bin/python3

Pas 2: habiliteu el dipòsit oficial de RedHat

Després d'instal·lar Python3, assegureu-vos que heu habilitat el dipòsit oficial de RedHat per a Ansible, tal com es mostra a continuació.

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

NOTA: perquè l'ordre anterior funcioni, assegureu-vos d'haver registrat el vostre RHEL 8 per a la subscripció a RedHat.

Pas 3: instal·leu Ansible a RHEL 8

Per instal·lar Ansible al node de control que és el nostre sistema RHEL 8, executeu l'ordre.

# dnf install ansible -y

Un cop instal·lat, podeu comprovar la versió d'Ansible instal·lada executant l'ordre.

# ansible --version

Pas 4: creació d'un fitxer d'inventari d'amfitrió estàtic

Fins ara, hem instal·lat amb èxit ansible al node de control, que és el nostre servidor RHEL 8. Els nodes remots que ha de gestionar el node de control s'han de definir en un fitxer anomenat fitxer d'inventari. El fitxer d'inventari és un fitxer de text senzill que resideix al node de control i consta dels noms d'amfitrió o adreces IP dels hosts remots.

Un fitxer d'amfitrió estàtic és un fitxer de text senzill que conté una llista de nodes gestionats definits per les seves adreces IP o noms d'amfitrió. Creem un fitxer estàtic hosts al directori /etc/ansible/.

# vi /etc/ansible/hosts

A continuació, definiu un grup o grups per als vostres amfitrions gestionats. Tenim 2 amfitrions gestionats, com s'ha vist anteriorment a la configuració de la introducció d'aquest tema. A partir de la configuració, el fitxer d'amfitrió estàtic es definirà de la següent manera:

[webserver]
192.168.0.15

[database_server]
192.168.0.200

Deseu i sortiu del fitxer d'inventari.

Per llistar els amfitrions gestionats, executeu:

# ansible all -i hosts --list-hosts

Fins ara, hem aconseguit instal·lar Ansible al node de control i definir els amfitrions gestionats en un fitxer d'amfitrió estàtic que resideix al node de control.

A continuació, veurem com podem gestionar o controlar els nostres hosts remots o gestionats.

Pas 5: configureu el node de control Ansible per connectar-vos amb els nodes remots

Perquè el node de control Ansible (RHEL 8) gestioni els sistemes d'amfitrió remots (Debian 10 i CentOS 8), hem de configurar l'autenticació SSH sense contrasenya als amfitrions remots. Perquè això passi, heu de generar un parell de claus SSH i desar la clau pública als nodes remots.

Al node de control Ansible, inicieu sessió com a usuari normal i genereu el parell de claus SSH executant l'ordre.

# su tecmint
$ ssh-keygen

A continuació, copieu la clau ssh pública als nodes remots tal com es mostra.

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

Després d'haver afegit les claus públiques a tots els nostres nodes remots, emetrem una ordre ping des del node Ansible Control per assegurar-nos que siguin accessibles.

$ ansible -m ping all

A partir de la sortida anterior, podem veure clarament que l'ordre ping va tenir èxit i vam poder provar l'accessibilitat a tots els nodes.

En aquesta guia, vam instal·lar i configurar Ansible amb èxit al node de control que executa RHEL 8. Més tard vam definir els amfitrions remots en un fitxer d'amfitrió estàtic i vam configurar el node de control per connectar i controlar els amfitrions gestionats mitjançant la configuració de l'autenticació SSH sense contrasenya.