Ansible geavanceerde hostlijstinventaris

Ansible Geavanceerde Hostlijstinventaris



Met behulp van een van de nieuwste beheertechnieken, 'Ansible', introduceren we hoe we elke gecontroleerde host op het apparaat vermelden. In Ansible gebruiken we de plug-in 'inventaris' om alle hosts in het netwerk weer te geven.

Het is cruciaal om een ​​lijst te hebben van al je hostmachines in Ansible. Het georganiseerd houden van een inventarisbestand is net zo cruciaal als het onderhouden van de draaiboeken of taken, omdat u zich constant in een staat van onzekerheid zult bevinden en uzelf met verschillende zorgen zult afvragen of uw inventarisbestand niet goed wordt beheerd. Naast het voorgaande minimaliseert de definitie van de vereiste variabelen in het inventarisatiebestand de inhoud van de taak in draaiboeken en versnelt het de interpretaties. Er is een groep variabelen die kunnen worden gedeclareerd in zowel uw playbooks als Ansible-inventarisbestanden die verantwoordelijk zijn voor het verbinden en configureren van het gedrag van connectiviteit met de hostcomputer.







Vereisten:

Dit zijn de vereisten voor het implementeren van de hostlijstinventarisatieopdracht in Ansible:



  • Om de implementatie te starten, hebben we eerst software nodig die wordt gebruikt voor de Ansible-configuratie en die is geïnstalleerd op het serverapparaat met de nieuwste versie. Ansible moet zo worden geconfigureerd dat we gemakkelijk de all-host-machine in ons netwerk kunnen vermelden.
  • Om elke configuratietaak in Ansible uit te voeren, hebben we een hoofdconfiguratiemanager nodig. In deze zelfstudie gebruiken we de controllerserver als de hoofdcontroller.
  • Om eventuele wijzigingen door te voeren, moeten we ons richten op de hostservers in de zelfstudie voor de inventaris van de hostlijst. Hier hebben we twee doelhosts op afstand.

Voorbeeld: hostlijstinventaris in de machine

Hier is het voorbeeld dat we implementeren in de Ansible-tool om de inventaris van de hostlijst te controleren of te definiëren. Daarvoor zullen we dit voorbeeld in verschillende stappen doen, zodat we de werking en de implementatie van deze tutorial gemakkelijk kunnen begrijpen. Dit zijn de volgende stappen:



Stap 1: Controleer de standaard hostlijstinventaris in het externe doelhostapparaat





Eerst controleren we hoeveel hosts er in de inventaris van de Ansible-tool staan. Daarvoor gebruiken we de instructie 'ansible' met '-list-hosts', zodat we de standaard behandelde knooppunten in de inventaris kunnen weergeven.

[ wortel @ meester weerwort ] # ansible all --list-hosts



Hier is de uitvoer na het schrijven van de vorige opdracht:

De Ansible-terminal geeft '0 hosts' weer, zoals u kunt zien in het gegeven antwoord, omdat we de inventaris niet hebben opgegeven. We genereren de inventaris om de inventaris van de host in de terminal weer te geven voordat we dit aanpakken.

Standaardvoorraad:

Wanneer we Ansible in de software installeren, bouwt Ansible een inventarisbestand op dat wordt gevonden door de volgende verklaring in de terminal te schrijven:

[ wortel @ meester weerwort ] # sudo nano /etc/ansible/hosts

De uitkomst wordt gegenereerd wanneer we de vorige verklaring schrijven. Vervolgens wordt u gevraagd het wachtwoord in te voeren:

In deze momentopname biedt het standaard Ansible-hostsbestand de informatie over de niet-gegroepeerde hosts en webservers-groepshosts. Deze hosts bevatten de URL's en verschillende IP-adressen.

Stap 2: Definieer de aangepaste inventaris in Ansible

In Ansible kunnen we onze inventaris ook definiëren door meerdere verklaringen in de Ansible-terminal te schrijven. Het definiëren van de inventaris bij het uitvoeren van de verklaringen en draaiboeken is een verstandige beslissing die botsingen tussen de hosts en storingen tijdens het verbinden met de hosts voorkomt.

Om te beginnen met het zelf definiëren van de inventaris, schrijven we eerst de volgende verklaring, zodat we de inventaris in Ansible kunnen bouwen en de hosts erin kunnen vermelden, zodat we de verbinding kunnen maken tussen de Ansible-controller en de beoogde externe hosts.

[ wortel @ meester weerwort ] # nano-hosts.yml

Na het schrijven van de vorige verklaring, wordt de inventaris gemaakt en gelanceerd in een nieuwe Ansible-terminal met de titel 'hosts.yml'. Vervolgens vermelden we de beoogde hosts één voor één in de inventaris. De allereerste host waarmee we verbinding maken, is een Linux-host. We verstrekken het IP-adres van de Linux-host, de Ansible-gebruiker, het Ansible-wachtwoord, het type verbinding en het Ansible-poortnummer. We doen hetzelfde met de tweede doelhost. De tweede host die we gebruiken is de Ansible-host. Alle hosts die we hebben vermeld, staan ​​onder de Ansible-parameter in de inventaris.

Ansible:
gastheren:
Linux_Host:
ansible_host: 192.168.3.229
ansible_user: root
ansible_password: tpstps_22
ansible_connection: ssh
ansible_port: 22

Ansible_Host:
ansible_host: 192.168.7.10
ansible_user: iris
ansible_password: TpsTps_1
ansible_connection: ssh
ansible_port: 22

Nadat we het inventarisbestand hebben gemaakt en de hosts erin hebben opgegeven, beëindigen we nu het inventarisbestand en gaan we terug naar de hoofdterminal van Ansible.

Stap 3: Maak het Playbook in Ansible

Vervolgens maken we het draaiboek in de Ansible-tool zodat we de taken definiëren. Daarvoor schrijven we de volgende opdracht in de hoofdterminal van Ansible:

[ wortel @ meester weerwort ] # nano ansible_advanced_inventory.yml

Nu wordt het draaiboek gelanceerd in een nieuwe terminal. Eerst schrijven we de titel van het draaiboek. In de volgende regel geven we de doelhost. We gebruiken de optie Verzamel feiten die wordt gebruikt om alle informatie van hosts te krijgen. Maar hier passeren we 'nee', wat betekent dat we niet alle gegevens van de hosts willen krijgen.

Vervolgens zetten we de taken op een rijtje in het draaiboek. De eerste taak wordt gebruikt om de doelhost met de hostnaam weer te geven. In de volgende taak printen we de hostresultaten.

- naam: Ansible geavanceerde hostinventaris
gastheer: Ansible [ 0 ]
collect_facts: nee
taken:

- naam: krijgen hostnaam van het beheerde knooppunt
schelp: 'hostnaam'
registreren: resultaat

- Naam print hostnaam
debuggen:
bericht: '{{resultaat.stdout}}'

Nu willen we het draaiboek samen met het inventarisbestand uitvoeren. We beëindigen dus eerst het draaiboek. Het volgende is de instructie die we gebruiken om de opdracht uit te voeren:

[ wortel @ meester weerwort ] # ansible-playbook ansible_advanced_inventory.yml –i host.yml

Het volgende is het uitvoerscherm dat aangeeft dat de verbinding succesvol is. Sinds we de Ansible[0] in het draaiboek zijn gepasseerd, wordt de eerste host weergegeven in de uitvoer:

Conclusie

We hebben tijdens deze tutorial een diepgaande discussie gehad over de Ansible-inventaris. We hebben geleerd hoe we de inventaris in Ansible kunnen opbouwen en deze vervolgens kunnen verbinden met de beoogde externe hosts. We hebben ook een voorbeeld geïmplementeerd zodat we de concepten van Ansible-inventaris gemakkelijk kunnen begrijpen.