Inventario de la lista de host avanzada Ansible

Inventario de la lista de host avanzada Ansible

Utilizando una de las últimas técnicas de gestión, "Ansible", presentamos cómo enumeramos cada host monitoreado en el dispositivo. En Ansible, utilizamos el complemento "Inventario" para enumerar todos los hosts en la red.

Es crucial tener una lista de todas sus máquinas anfitrionas en Ansible. Mantener un archivo de inventario organizado es tan crucial como mantener los libros de jugadas o tareas porque constantemente se encontrará en un estado de incertidumbre y se preguntará con varias preocupaciones si su archivo de inventario está mal administrado por. Además de lo anterior, la definición del archivo de inventario de las variables requeridas minimiza el contenido de la tarea en los libros de jugadas y acelera las interpretaciones. Hay un grupo de variables que se pueden declarar tanto en sus libros de jugadas como en archivos de inventario ansible que son responsables de conectar y configurar el comportamiento de la conectividad con la máquina host.

Prerrequisitos:

Los siguientes son los requisitos antes de implementar el comando de inventario de la lista de host en Ansible:

  • Para comenzar a implementarse, primero necesitamos un software que se utilice para la configuración Ansible que se instala en el dispositivo del servidor con la última versión. Ansible debe configurarse para que podamos enumerar fácilmente la máquina de anhético en nuestra red.
  • Para hacer cualquier tarea de configuración en Ansible, necesitamos un administrador de configuración principal. En este tutorial, usamos el servidor de controlador como controlador principal.
  • Para implementar cualquier cambio, debemos dirigir los servidores host en el tutorial de inventario de la lista de host. Aquí tenemos dos hosts remotos de Target.

Ejemplo: Inventario de la lista de host en la máquina

Aquí está el ejemplo que implementamos en la herramienta Ansible para verificar o definir el inventario de la lista de host. Para eso, haremos este ejemplo en diferentes pasos para que podamos entender fácilmente el trabajo y la implementación de este tutorial. Los siguientes son los pasos:

Paso 1: verifique el inventario predeterminado de la lista de host en el dispositivo de host remoto de destino

Primero, verificamos cuántos hosts hay en el inventario de la herramienta Ansible. Para eso, empleamos la declaración "Ansible" con "-list-Hosts" para que podamos mostrar los nodos manejados predeterminados en el inventario.

[root@maestro ansible]# ansible todo --list-anhosts

Aquí está el resultado después de escribir el comando anterior:

El terminal ansible muestra "0 hosts" como puede ver en la respuesta proporcionada porque no declaramos el inventario. Generamos el inventario para enumerar el inventario del host en la terminal antes de abordar esto.

Inventario predeterminado:

Cuando instalamos Ansible en el software, Ansible construye un archivo de inventario que se encuentra escribiendo la siguiente declaración en el terminal:

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

El resultado se genera cuando escribimos la declaración anterior. Luego, le pide que ingrese la contraseña:

En esta instantánea, el archivo de hosts Ansible predeterminado proporciona la información sobre los hosts no agrupados y los hosts del grupo de servidores web. Estos hosts incluyen las URL y diferentes direcciones IP.

Paso 2: Defina el inventario personalizado en Ansible

En Ansible, también podemos definir nuestro inventario escribiendo múltiples declaraciones en el terminal Ansible. Definir el inventario al ejecutar las declaraciones y los libros de jugadas es una decisión sabia que evita el enfrentamiento de los hosts y la falla mientras se conecta con los hosts.

Para comenzar a definir el inventario por nuestra cuenta, primero escribimos la siguiente declaración para que podamos construir el inventario en Ansible y enumerar los hosts en él para que hagamos la conexión entre el controlador Ansible y los hosts remotos específicos.

[root@maestro ansible]# nano anfitriones.YML

Después de escribir la declaración anterior, el inventario se crea y se lanza en una nueva terminal Ansible con el "Hosts.Título de YML ”. A continuación, enumeramos los hosts objetivo uno por uno en el inventario. El primer host con el que nos conectamos es un host de Linux. Proporcionamos la dirección IP del host de Linux, el usuario ansible, la contraseña ansible, el tipo de conexión y el número de puerto ansible. También hacemos lo mismo con el segundo host objetivo. El segundo anfitrión que usamos es el anfitrión ansible. Todos los hosts que enumeramos están bajo el parámetro Ansible en el inventario.

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

Después de hacer el archivo de inventario y proporcionar los hosts en él, ahora terminamos el archivo de inventario y volvemos a la terminal principal de Ansible.

Paso 3: crea el libro de jugadas en Ansible

A continuación, creamos el libro de jugadas en la herramienta Ansible para definir las tareas. Para eso, escribimos el siguiente comando en el terminal principal Ansible:

[root@maestro ansible]# nano ansible_advanced_inventory.YML

Ahora, el libro de jugadas se lanza a una nueva terminal. Primero, escribimos el título del libro de jugadas. En la siguiente línea, proporcionamos el host de destino. Utilizamos la opción Reune Fact que se utiliza para obtener toda la información de los hosts. Pero aquí, pasamos "no", lo que significa que no queremos obtener todos los datos de los hosts.

A continuación, enumeramos las tareas en el libro de jugadas. La primera tarea se usa para mostrar el host de destino con el nombre de host. En la siguiente tarea, imprimimos los resultados del host.

- Nombre: Inventario de anfitrión avanzado Ansible
Hosts: Ansible [0]
gateo_facts: no
tareas:
- Nombre: Obtener nombre de host del nodo administrado
Shell: "Nombre de host"
Registrarse: resultado
- Nombre: nombre de host de impresión
depurar:
Msg: "resultado.stdout "

Ahora, queremos ejecutar el libro de jugadas junto con el archivo de inventario. Entonces, primero terminamos el libro de jugadas. La siguiente es la declaración que usamos para ejecutar el comando:

[root@master ansible]# ansible-playbook ansible_advanced_inventory.yml -i anfitrión.YML

La siguiente es la pantalla de salida que muestra que la conexión es exitosa. Desde que pasamos el Ansible [0] en el libro de jugadas, el primer host se muestra en la salida:

Conclusión

Tuvimos una discusión en profundidad en el inventario Ansible a lo largo de este tutorial. Aprendimos a construir el inventario en Ansible y luego conectarlos con los hosts remotos de destino. También implementamos un ejemplo para que podamos entender fácilmente los conceptos de inventario ansible.