Ansible Advanced Host List Inventory

Ansible Advanced Host List Inventory

Utilizzando una delle ultime tecniche di gestione, "Ansible", introduciamo come elenchiamo ogni host monitorato sul dispositivo. In Ansible, utilizziamo il plug -in "Inventario" per elencare tutti gli host nella rete.

È fondamentale avere un elenco di tutte le macchine host ad Ansible. Mantenere organizzato un file di inventario è cruciale quanto il mantenimento dei playbook o delle attività perché ti troverai costantemente in uno stato di incertezza e ti chiederai con diverse preoccupazioni se il tuo file di inventario è maltagrato. Oltre a quanto precede, la definizione del file di inventario delle variabili richieste minimizza il contenuto dell'attività nei playbook e accelera le interpretazioni. Esistono un gruppo di variabili che possono essere dichiarate nei file dei playbook e Ansible che sono responsabili della connessione e della configurazione del comportamento della connettività con la macchina host.

Prerequisiti:

I seguenti sono i requisiti prima di implementare il comando di inventario dell'elenco host in Ansible:

  • Per iniziare l'implementazione, abbiamo prima bisogno di un software utilizzato per la configurazione ANSible installata nel dispositivo server con l'ultima versione. Ansible deve essere configurato in modo da poter facilmente elencare la macchina per tutto host nella nostra rete.
  • Per eseguire qualsiasi attività di configurazione in Ansible, abbiamo bisogno di un gestore di configurazione principale. In questo tutorial, utilizziamo il controller Server come controller principale.
  • Per implementare eventuali modifiche, dobbiamo indirizzare i server host nel tutorial di inventario dell'elenco host. Qui, abbiamo due host remoti target.

Esempio: inventario dell'elenco host nella macchina

Ecco l'esempio che implementiamo nello strumento Ansible per controllare o definire l'inventario dell'elenco host. Per questo, faremo questo esempio in diversi passaggi in modo da poter comprendere facilmente il lavoro e l'implementazione di questo tutorial. I seguenti sono i passaggi:

Passaggio 1: controllare l'inventario dell'elenco host predefinito nel dispositivo host remoto target

Innanzitutto, controlliamo quanti host sono nell'inventario dello strumento Ansible. Per questo, impieghiamo la dichiarazione "Ansible" con "-list-host" in modo da poter visualizzare i nodi gestiti predefiniti nell'inventario.

[root@master ansible]# ansible tutti--list-host

Ecco l'output dopo aver scritto il comando precedente:

Il terminale Ansible visualizza "0 host" come puoi vedere nella risposta fornita perché non abbiamo dichiarato l'inventario. Generiamo l'inventario per elencare l'inventario dell'host nel terminale prima di affrontare questo.

Inventario predefinito:

Quando installiamo Ansible nel software, Ansible crea un file di inventario che si trova scrivendo la seguente dichiarazione nel terminale:

[root@master ansible]# sudo nano/etc/ansible/host

Il risultato viene generato quando scriviamo l'istruzione precedente. Quindi, ti chiede di inserire la password:

In questa snapshot, il file Host ANSIBE predefinito fornisce le informazioni relative agli host non gruppi e agli host del gruppo WebServers. Questi host includono gli URL e diversi indirizzi IP.

Passaggio 2: definire l'inventario personalizzato in Ansible

In Ansible, possiamo anche definire il nostro inventario scrivendo più dichiarazioni nel terminale Ansible. Definizione dell'inventario durante l'esecuzione delle dichiarazioni e dei playbook è una decisione saggia che impedisce di scontrarsi gli host e fallimento mentre si connette con gli host.

Per iniziare a definire l'inventario da soli, prima scriviamo la seguente affermazione in modo da poter costruire l'inventario in Ansible ed elencare gli host in esso in modo da stabilire la connessione tra il controller Ansible e gli host remoti mirati.

[root@master ansible]# nano hosts.YML

Dopo aver scritto la dichiarazione precedente, l'inventario viene creato e lanciato in un nuovo terminal Ansible con i "host.Titolo YML ". Successivamente, elenchiamo gli host target uno per uno nell'inventario. Il primo host con cui ci connettiamo è un host Linux. Forniamo l'indirizzo IP dell'host Linux, l'utente Ansible, la password Ansible, il tipo di connessione e il numero di porta Ansible. Facciamo anche lo stesso con il secondo host target. Il secondo host che utilizziamo è l'host Ansible. Tutti gli host che abbiamo elencato sono sotto il parametro Ansible nell'inventario.

Ansible:
ospiti:
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

Dopo aver effettuato il file di inventario e fornito gli host al suo interno, ora terminiamo il file di inventario e torniamo al terminale ansible principale.

Passaggio 3: crea il playbook in Ansible

Successivamente, creiamo il playbook nello strumento Ansible in modo da definire le attività. Per questo, scriviamo il seguente comando nel terminale principale Ansible:

[root@master ansible]# nano ansible_advanced_inventory.YML

Ora, il playbook viene lanciato in un nuovo terminale. Innanzitutto, scriviamo il titolo del playbook. Nella riga successiva, forniamo l'host target. Utilizziamo l'opzione Gather Fact utilizzata per ottenere l'intera informazione degli host. Ma qui passiamo "no", il che significa che non vogliamo ottenere tutti i dati degli host.

Successivamente, elenchiamo le attività nel playbook. La prima attività viene utilizzata per visualizzare l'host di destinazione con il nome host. Nel prossimo compito, stampiamo i risultati host.

- Nome: Ansible Advanced Host Inventory
Host: Ansible [0]
Gather_Facts: no
compiti:
- Nome: Ottieni il nome host del nodo gestito
Shell: "nome host"
Registro: risultato
- Nome: stampa host di stampa
debug:
msg: "risultato.stdout "

Ora, vogliamo eseguire il playbook insieme al file di inventario. Quindi, finiamo per la prima volta il playbook. Di seguito è riportata l'affermazione che utilizziamo per eseguire il comando:

[root@master ansible]# ansible-playbook ansible_advanced_inventory.yml -i host.YML

Di seguito è riportato il display di output che mostra che la connessione ha esito positivo. Da quando abbiamo superato l'Ansible [0] nel playbook, il primo host viene visualizzato nell'output:

Conclusione

Abbiamo avuto una discussione approfondita all'inventario Ansible durante questo tutorial. Abbiamo imparato a costruire l'inventario in Ansible e quindi collegarli con gli host remoti target. Abbiamo anche implementato un esempio in modo da poter comprendere facilmente i concetti dell'inventario Ansible.