Zoeken op website

Een Ansible Control Node installeren en configureren - Deel 2


In het vorige onderwerp leert u over de basisterminologieën en basisconcepten van Ansible. In dit onderwerp (deel 2 van de Ansible-serie) laten we zien hoe u een Ansible-controleknooppunt op RHEL 8 kunt installeren en configureren.

In onze configuratie gaan we 1 Ansible-server en 2 externe Linux-nodes gebruiken:

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

Wat is een Ansible-controleknooppunt?

Een controleknooppunt is een Linux-server waarop Ansible is geïnstalleerd en wordt gebruikt voor het beheren van externe hosts of knooppunten. Deze externe systemen staan bekend als Beheerde Hosts of Beheerde knooppunten.

In de bovenstaande configuratie is het controleknooppunt de RHEL 8-server waarop Ansible wordt geïnstalleerd en Debian 10 en CentOS 8< zijn de beheerde hosts.

OPMERKING: Ansible wordt alleen geïnstalleerd op het controleknooppunt en niet op de beheerde hosts.

Stap 1: Python 3 installeren

RHEL 8 wordt standaard geleverd met Python 3 en u kunt de versie van Python die op uw server is geïnstalleerd verifiëren door deze uit te voeren.

python3 -V

Als om welke reden dan ook Python3 niet is geïnstalleerd, installeer het dan met de volgende dnf-opdracht.

dnf install python3

Als er meerdere versies van Python bestaan op uw RHEL 8-systeem, kunt u Python 3 instellen als de standaard Python-versie door rennen.

alternatives --set python /usr/bin/python3

Stap 2: Schakel de officiële RedHat Repository in

Zorg er na het installeren van Python3 voor dat je de officiële opslagplaats van RedHat voor Ansible hebt ingeschakeld, zoals hieronder weergegeven.

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

OPMERKING: Om de bovenstaande opdracht te laten werken, moet u ervoor zorgen dat u uw RHEL 8 voor RedHat-abonnement hebt geregistreerd.

Stap 3: Installeer Ansible op RHEL 8

Om Ansible te installeren op het Control-knooppunt, ons RHEL 8-systeem, voert u de opdracht uit.

dnf install ansible -y

Eenmaal geïnstalleerd, kunt u controleren welke versie van Ansible is geïnstalleerd door de opdracht uit te voeren.

ansible --version

Stap 4: Een statisch hostinventarisbestand maken

Tot nu toe hebben we met succes ansible geïnstalleerd op het Control Node, onze RHEL 8 server. De externe knooppunten die door het controleknooppunt moeten worden beheerd, moeten worden gedefinieerd in een bestand dat het inventaris bestand wordt genoemd. Het inventarisbestand is een tekstbestand dat zich op het besturingsknooppunt bevindt en bestaat uit de hostnamen of IP-adressen van de externe hosts.

Een statisch hostbestand is een tekstbestand dat een lijst met beheerde knooppunten bevat, gedefinieerd door hun IP-adressen of hostnamen. Laten we een statisch bestand ‘hosts‘ maken in de map /etc/ansible/.

vi /etc/ansible/hosts

Definieer vervolgens een groep of groepen voor uw beheerde hosts. We hebben 2 beheerde hosts, zoals eerder gezien in de installatie bij de introductie van dit onderwerp. Vanaf de installatie wordt het statische hostbestand als volgt gedefinieerd:

[webserver]
192.168.0.15

[database_server]
192.168.0.200

Sla het inventarisbestand op en sluit het af.

Om beheerde hosts weer te geven, voert u het volgende uit:

ansible all -i hosts --list-hosts

Tot nu toe zijn we erin geslaagd om Ansible in het controleknooppunt te installeren en de beheerde hosts te definiëren in een statisch Host-bestand dat zich op het controleknooppunt bevindt.

Vervolgens gaan we kijken hoe we onze externe of beheerde hosts kunnen beheren of controleren.

Stap 5: Stel het Ansible Control Node in om verbinding te maken met de externe knooppunten

Voor het Ansible-controleknooppunt (RHEL 8) om de externe hostsystemen te beheren (Debian 10 en CentOS 8) we moeten wachtwoordloze SSH-authenticatie instellen voor de externe hosts. Om dit te laten gebeuren, moet u een SSH-sleutelpaar genereren en de openbare sleutel opslaan op de externe knooppunten.

Meld u op het Ansible-controleknooppunt aan als een normale gebruiker en genereer het SSH-sleutelpaar door de opdracht uit te voeren.

su tecmint
ssh-keygen

Kopieer vervolgens de openbare ssh-sleutel naar externe knooppunten, zoals weergegeven.

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

Nadat we de openbare sleutels aan al onze externe knooppunten hebben toegevoegd, gaan we een ping-opdracht geven vanaf het Ansible Control-knooppunt om ervoor te zorgen dat ze bereikbaar zijn.

ansible -m ping all

Uit de bovenstaande uitvoer kunnen we duidelijk zien dat de ping-opdracht succesvol was en dat we de bereikbaarheid van alle knooppunten konden testen.

Conclusie

In deze handleiding hebben we Ansible met succes geïnstalleerd en ingesteld op het besturingsknooppunt met RHEL 8. Later hebben we de externe hosts gedefinieerd in een statisch hostbestand en het controleknooppunt geconfigureerd om verbinding te maken en de beheerde hosts te besturen door SSH-wachtwoordloze authenticatie in te stellen.