Búsqueda de configuración ansible

Búsqueda de configuración ansible
Aprenderemos cómo configurar el complemento de búsqueda, uno de los complementos del software Ansible, en este tutorial. Revisaremos por qué y cómo usamos el complemento de búsqueda, así como cómo funciona en Ansible usando el libro de jugadas.

Con el uso de módulos de búsqueda, simplemente podemos extraer la información que viene a través de dominios externos en Ansible. Los sistemas de archivos internos, los almacenes de datos remotos o los servicios son solo unos pocos ejemplos de estos dominios. Después de recopilar la información de esos proveedores, el módulo de búsqueda procesa la información y luego se recupera a través del motor de plantillas de Ansible. Y permitirá el acceso a esa plantilla. El objetivo principal del complemento de búsqueda de configuración ansible es importar parámetros o plantillas que incluyan información de dominios externos o dispositivos remotos.

Trabajar en el complemento de búsqueda en Ansible

Los siguientes son los principios de trabajo del complemento de búsqueda avanzada en la herramienta Ansible:

A diferencia de las actividades locales que operan con un directorio tan especificado asociado con el juego o rol implementado, las búsquedas se ejecutan con un directorio especificado fuera de la obra o papel.

Debe tener una comprensión sólida de Ansible, su funcionalidad y sus instrucciones cuando va a utilizar el módulo de búsqueda en Ansible porque esta es una funcionalidad avanzada.

La información solo se procesa de forma remota. Por lo tanto, debemos ser conscientes de que debe pasar a un parámetro o usarse como un recurso de información después del cálculo o evaluación.

Existen varios enfoques diversos para permitir módulos personalizados como colocarlos en el módulo de búsqueda de dominio al lado, colocarlo dentro de una ruta de complementos de búsqueda y agregar una fuente desde un directorio de búsqueda configurado en el CFG.

Para la recopilación de información o la generación de información, podemos integrar módulos ansibles con filtros y experimentos.

La operación de consulta, que se ha implementado en Ansible en la versión 2.5, se usa para invocar módulos de búsqueda. El módulo de consulta siempre proporciona una variedad de valores, mientras que la búsqueda produce un conjunto de valores separados por comas (CSV). Para forzar una búsqueda para generar un valor, podemos utilizar específicamente el parámetro wantlist = true.

Requisitos previos del complemento de búsqueda Ansible

Antes de implementar el ejemplo, necesitamos que se cumplan los siguientes criterios:

Debe haber un servidor de control ansible del controlador ansible llamado. Para construir una conexión y utilizar el complemento de búsqueda de configuración Ansible, necesitaremos los hosts remotos. Y aquí estamos utilizando el host local como un host remoto de destino durante la implementación.

Construiremos libros de jugadas, emitiremos comandos Ansible y observaremos los resultados en hosts distantes en el dispositivo Ansible-Controller.

Intentaremos usar diferentes escenarios para examinar algunos de los complementos de búsqueda Ansible. La configuración del módulo de búsqueda en estos escenarios está destinada únicamente a demostrar cómo utilizarlos.

Ejemplo 01: Mostrar las configuraciones de rol predeterminadas en Ansible

Ahora, vamos a implementar el primer ejemplo en el que obtendremos la ruta de rol predeterminada utilizando el complemento de búsqueda de Ansible. Primero, crearemos el libro de jugadas para incluir el host remoto de destino y las tareas. El siguiente es el comando utilizado para crear el libro de jugadas en Ansible:

[root@master ansible]# nano config_lookup.YML

Después de escribir el comando anterior y presionar Enter, el editor de libros de playbook se abrirá en un nuevo terminal llamado "config_lookup. La identificación de la instancia o módulo que tenemos la intención de usar inicialmente se escribirá. Hemos utilizado el parámetro "recopate_facts" de Ansible para que obtengamos toda la información relacionada con el localhost que se mostrará en la salida, pero no queremos obtener la información adicional del host local objetivo, por lo que hemos pasado el "falso "Valor para el" recopatado_facts "en el libro de jugadas. Ahora, mencionaremos a los anfitriones del libro de jugadas, por lo que hemos proporcionado el "localhost".

A continuación, queremos enumerar las tareas que queremos hacer. Entonces, escribimos el parámetro "Tareas" y luego enumeramos las tareas una por una. En esta lista, primero, tenemos que usar el parámetro "Nombre" para mostrar el nombre de las tareas. Y luego utilizamos el parámetro "depuración" y proporcionamos el parámetro "msg" para que se muestre el mensaje que queremos mostrar en el resultado.

- Nombre: Ejemplos de búsqueda de configuración
gather_facts: falso
Anfitriones: localhost
tareas:
- Nombre: Imprimir roles de roles
depurar:
Msg: "Estas son las rutas de roles configuradas: Lookup ('config', 'default_roles_path')"

En este ejemplo, no vamos a construir el archivo de inventario para hacer una conexión porque estamos utilizando el host local como un host remoto de destino. Para obtener los resultados ejecutando el libro de jugadas creado anteriormente, escribiremos el siguiente comando en el terminal:

[root@master ansible]# ansible-playbook config_lookup.YML

Aquí está la salida después de ejecutar el comando anterior. Obtendremos la ruta configurada del localhost junto con el mensaje que hemos escrito en el libro de jugadas en la fuente verde con la señal "OK".

Ejemplo 02: Ver los colores configurados predeterminados en Ansible

Aquí está el segundo ejemplo que vamos a implementar utilizando el módulo incorporado de Ansible, que es el módulo de búsqueda. En este escenario, obtendremos los colores configurados del elemento.

No crearemos otro libro de jugadas para este ejemplo. Simplemente hacemos los cambios necesarios en el libro de jugadas "config_lookup". Primero, abriremos el libro de jugadas escribiendo el comando a continuación:

[root@master ansible]# nano config_lookup.YML

En las tareas del libro de jugadas, alteraremos el nombre de la tarea y luego pasaremos el "elemento" para obtener el color predeterminado. Hemos utilizado el parámetro "bucle" para obtener los colores predeterminados en una lista.

- Nombre: Ejemplos de búsqueda de configuración
gather_facts: falso
Anfitriones: localhost
tareas:
- Nombre: Ver los colores predeterminados
debug: msg = "item"
bucle: "Lookup ('config', 'color_ok', 'color_changed', 'color_skip', wantlist = true)"

Ahora, termine el libro de jugadas guardando la modificación y ejecute el libro de jugadas a través del siguiente comando:

[root@master ansible]# ansible-playbook config_lookup.YML

El siguiente fragmento ilustrado nos mostrará la salida deseada ejecutando la declaración escrita arriba. Tenemos los tres colores configurados predeterminados del complemento de búsqueda en Ansible que son verdes, amarillos y cian.

Ejemplo 03: Ver el procedimiento para aumentar los privilegios en Ansible

Vamos a implementar el tercer ejemplo del complemento de búsqueda de configuración incorporado en Ansible. En el ejemplo, aumentaremos los privilegios del módulo de búsqueda. Primero, abriremos el libro de jugadas.

[root@master ansible]# nano config_lookup.YML

Ahora cambiaremos el código y lo configuraremos para adaptarse a nuestros requisitos. Cambiaremos el nombre de la tarea y cambiaremos la lógica de depuración.

- Nombre: Ejemplos de búsqueda de configuración
gather_facts: falso
Anfitriones: localhost
tareas:
- Nombre: Imprimir el método de escalada de privilegio predeterminado
depurar:
msg: "default_become_method: lookup ('config', 'default_become_method')"

Nuevamente, usaremos el mismo comando para ejecutar y mostrar los resultados del ejemplo.

[root@master ansible]# ansible-playbook config_lookup.YML

Como se muestra en la salida a continuación, obtendremos el privilegio de "sudo" en el color verde.

Conclusión

Hemos aprendido uno de los módulos incorporados de Ansible, que es la configuración del complemento de búsqueda. Hemos discutido el funcionamiento del complemento e implementado varios ejemplos para que podamos entender fácilmente el funcionamiento y los diferentes módulos del complemento de búsqueda en Ansible.