Introducción a las preguntas y respuestas de la entrevista Ansible

Ansible es una plataforma de automatización de código abierto. Ansible ayuda en la automatización de tareas, implementación de aplicaciones y administración de la configuración. Ansible está desarrollado en lenguaje Python. Ansible consta de dos servidores que controlan la máquina y los nodos. SSH gestiona estos dos servidores sin ningún tiempo de inactividad. Usando el protocolo SSH, Ansible implementa módulos en los nodos y estos se almacenan principalmente temporalmente en nodos remotos. Ansible puede manejar más de 100 nodos en un solo sistema a través de una conexión SSH.

A continuación se muestra la lista de preguntas y respuestas comunes de la entrevista de 2019:

Por lo tanto, finalmente ha encontrado el trabajo de sus sueños en Ansible, pero se pregunta cómo descifrar la entrevista de Ansible y cuáles podrían ser las posibles preguntas de la entrevista de Ansible de 2019. Cada entrevista es diferente y el alcance de un trabajo también es diferente. Teniendo esto en cuenta, hemos diseñado las preguntas y respuestas de la entrevista con respuestas más comunes para ayudarlo a tener éxito en su entrevista.

1. ¿Qué es Ansible?

Responder:
Ansible es una plataforma de automatización de código abierto. Puede ayudarnos con la gestión de la configuración, la implementación de aplicaciones o la automatización de tareas. Puede implementar una aplicación utilizando SSH sin ningún tiempo de inactividad. Ansible está desarrollado o escrito en lenguaje Python.

2. ¿Cuáles son las ventajas y el uso de Ansible?

Responder:
Ansible tiene una gran cantidad de beneficios:
Sin agente: no se requiere agente para configurar Ansible. Si Box puede soportar ssh y tiene python, entonces no hay problema para configurar Ansible.
Idempotente: la arquitectura de Ansible está totalmente estructurada en torno al concepto de idempotencia. La idea principal o central es que solo se deben agregar las cosas que se necesitan, y esas cosas serán repetibles sin efectos secundarios.
Declarativo, no procesal: una actitud normal de otras herramientas de configuración de seguir un proceso procesal, significa hacer esto, hacer eso y así sucesivamente. Pero Ansible normalmente escribe la descripción del estado de la máquina de lo que queremos y toma las medidas adecuadas para cumplir con esa descripción.
Muy fácil de aprender y bajo costo.

3. ¿Cómo funciona Ansible?

Responder:
Ansible se clasifica principalmente en dos tipos de servidor: máquina de control y nodos.
Ansible se instalará en la máquina de control y SSH gestionará los nodos dentro de esta máquina de control. Las ubicaciones de los nodos se especifican controlando una máquina a través de su inventario.
Ansible implementa módulos en nodos utilizando el protocolo SSH, estos módulos se almacenan principalmente en nodos remotos y se comunican con la máquina Ansible a través de una conexión JSON a través de la salida estándar. La instalación del agente en nodos remotos no es necesaria para Ansible, ya que no tiene agente. Por lo tanto, cualquier proceso en segundo plano o proceso de demonio no se ejecuta para Ansible cuando no está administrando ningún nodo. Ansible puede manejar más de 100 nodos en un solo sistema a través de una conexión SSH y solo un solo comando 'ansible' puede manejar toda la operación. Pero en algunos escenarios podemos construir 'libros de jugadas' donde requerimos ejecutar múltiples comandos para la implementación. Los libros de jugadas en realidad contienen todo el comando secuencial que se debe ejecutar para realizar múltiples tareas. Los libros de jugadas están en formato de archivo YAML.

4. ¿De qué sirve Ansible?

Responder:
Ansible se utiliza principalmente en la infraestructura de TI para administrar o implementar aplicaciones en nodos remotos. Supongamos que queremos implementar una aplicación en 100 nodos simplemente ejecutando un comando, entonces Ansible realmente está entrando en escena, pero debería necesitar algún conocimiento sobre el script de Ansible para comprender o ejecutar el mismo.

5. ¿Cuándo debo usar (())? Además, ¿cómo interpolar variables o nombres de variables dinámicas?

Responder:
Una de las reglas estándar es 'usar siempre (()) excepto cuando:'. Los condicionales siempre se ejecutan a través de Jinja2 para resolver la expresión. Entonces, cuando: failure_when: y changed_when: siempre tienen una plantilla y debemos evitar agregar (()).
En otros casos, excepto cuando la cláusula tenemos que usar corchetes, de lo contrario, distinguir entre una variable indefinida y una cadena será muy difícil.

6. ¿Cómo genero contraseñas cifradas para el módulo de usuario?

Responder:
Una utilidad mkpasswd normal que está disponible en un sistema Linux normal es una gran opción para generar contraseñas cifradas.
mkpasswd –method = sha-512
Si de alguna manera esta utilidad no está disponible en nuestro sistema, supongamos que estamos usando OS X, entonces también podemos generar fácilmente esta contraseña usando Python. Pero por lo mismo, necesitamos instalar la biblioteca de hash de contraseña Passlib en nuestro sistema.
Una vez instalado, el comando de ejecución generará valores de contraseña SHA512.
python -c "de passlib.hash import sha512_crypt; importar getpass; print sha512_crypt.encrypt (getpass.getpass ()) "

7. ¿Cuál es la mejor manera de hacer que el contenido sea reutilizable / redistribuible?

Responder:
Hay 3 formas de reutilizar archivos en playbooks de Ansible. 3 formas incluyen importaciones y roles.
Incluir e Importar en realidad están ayudando a crear múltiples archivos pequeños de un libro de jugadas grande o dividir un libro de jugadas grande de múltiples archivos pequeños. Esos archivos pequeños se pueden usar en varios libros de jugadas para padres o incluso varias veces dentro del mismo libro de jugadas.
Los roles se utilizan principalmente para administrar múltiples tareas en un paquete juntos. Puede incluir variables, controladores o incluso módulos y otros complementos. Ansible Galaxy también puede cargar y compartir roles.

8. ¿Cómo copio archivos recursivamente en un host de destino?

Responder:
El módulo de copia de Ansible tiene un parámetro recursivo. Pero es más eficiente usar el módulo de sincronización que envuelve rsync. Para el módulo de sincronización podemos usar el siguiente comando:
-name: Copiar sobre la configuración h5bp
sincronizar: modo = pull src = / tmp / server-configs-nginx / ((item)) dest = / etc / nginx / ((item))
con_artículos:
- "mimo. tipos "
- "h5bp /"
Para copiar de remoto a remoto, use el mismo comando, como delegate_to (como fuente remota) y actual Inventory_host (como destino remoto).

9. Playbooks vs roles y Ansible VS Puppet

Responder:
Ansible Playbook es un sistema de administración de configuración y despliegue de múltiples máquinas realmente simple. Si lo comparamos con otro, es muy popular y muy adecuado para implementar una aplicación compleja.
Y los roles en Ansible están cargando automáticamente ciertos var_files, tareas y controladores basados ​​en una estructura de archivos conocida. Roles que agrupan principalmente todos los contenidos y se agrupan. También permite compartir fácilmente roles con otros usuarios.

AnsibleMarioneta
Excelente rendimiento, instalación y despliegue sin agente.El rendimiento es poco cuestionable en comparación con Ansible y es una instalación basada en agente.
Basado en lenguaje PythonBasado en lenguaje Ruby
CLI acepta comandos en casi todos los idiomas.Todos los clientes deben aprender el DSL Puppet.
Como es muy y no se ha probado bien, no puede proporcionar una solución adecuada y madura para cada situación siempre.Siempre proporciona una solución madura en comparación con Ansible.
La GUI está en progreso.Buena GUI
No hay soporte para WindowsSoporte para todos los principales sistemas operativos

10.Diferencia entre un nombre de variable y variables de entorno?

Responder:

Nombre de la variableVariable ambiental
El nombre de la variable se puede construir agregando String.Para acceder a la variable de entorno es necesario acceder a la variable existente.
((hostvars (Inventory_hostname) ('ansible_' + which_interface) ('ipv4') ('address')))#… Vars: local_home: “((lookup ('env', 'HOME')))”
Podemos agregar cadenasSi queremos agregar la variable, necesitamos abrir la sección de libros avanzados.
Para el nombre de la variable, usamos la dirección IPV4.Para las variables de entorno remoto, use ((ansible_env.SOME_VARIABLE))

Artículo recomendado

Esta ha sido una guía para la Lista de preguntas y respuestas de la entrevista con respuestas para que el candidato pueda tomar medidas enérgicas contra estas preguntas de la entrevista con facilidad. Esta es la publicación más valiosa y útil sobre Preguntas y respuestas de la entrevista con respuestas. También puede consultar los siguientes artículos para obtener más información:

  1. 13 asombrosas preguntas y respuestas de la entrevista de prueba de base de datos
  2. Conozca las 5 preguntas y respuestas útiles de la entrevista SSIS
  3. Las 5 preguntas y respuestas más importantes de la entrevista de Cognos
  4. Las 5 preguntas y respuestas más útiles de la entrevista SSAS
  5. Ansible vs Puppet vs Chef | Las 18 principales diferencias