top 35 puppet interview questions
Puppet es una herramienta de gestión de configuración de código abierto. En este tutorial, hemos proporcionado las preguntas y respuestas más frecuentes de las entrevistas de marionetas:
En el actual entorno de desarrollo ágil, los desarrolladores integran su código varias veces al día y trabajan horas extra para entregar sus tareas.
Los equipos de operaciones trabajan junto con los desarrolladores de aplicaciones para integrar su código utilizando herramientas de control de versiones, revisión de código para mantener la coherencia del diseño y la implementación entre varios desarrolladores, implementando varias compilaciones para pruebas. Además de esto, deben mantener los sistemas y servidores en un estado de funcionamiento.
Varios sistemas y servidores, cuando se ejecutan continuamente, se vuelven propensos a fallar. En organizaciones grandes con una enorme base de clientes, el mantenimiento de la infraestructura se convierte en una tarea abrumadora.
En el caso de una infraestructura recién instalada o para mantener las existentes en buen estado, DevOps instala herramientas de configuración como Puppet que establecen automáticamente la configuración predeterminada para las nuevas máquinas y restablecen la configuración de las infraestructuras fallidas manteniéndolas en estado de ejecución.
Lo que vas a aprender:
¿Qué es la herramienta de software Puppet?
Puppet es una herramienta de administración de configuración de código abierto que automatiza y administra la configuración del servidor. Su código escrito en lenguaje específico de dominio (DSL) es declarativo, donde se describe el estado deseado de nuestros sistemas. Esta herramienta automatiza la actualización del estado de estos sistemas como se describe con la ayuda del titiritero y su agente.
En caso de falla del servidor, el código ayuda al servidor a volver a sus estados de trabajo anteriores. Además, la herramienta implementa servidores bajo demanda y les impone seguridad.
Con esta herramienta de administración de configuración, se puede administrar el Protocolo de tiempo de red (NTP), los privilegios Sudo para identificar a los usuarios con privilegios de acceso elevados, además de este servidor de nombres del Sistema de nombres de dominio (DNS), y el firewall también se puede administrar con él.
Preguntas más frecuentes sobre entrevistas con marionetas
P # 1) Explique la empresa Puppet.
Responder: Puppet Enterprise es una herramienta de configuración o se dice como un código automatizado donde la información de la infraestructura, como el software y su configuración, ya están definidas para el sistema y el servidor, de modo que se pueden instalar, el entorno se puede configurar cuando se instala una nueva infraestructura y se realiza una verificación periódica. para asegurar que estos sistemas y servidores permanezcan en el estado deseado.
P # 2) Describe la arquitectura de Puppet.
Responder: Puppet sigue un enfoque de programación declarativa donde el código especifica qué hacer, pero no informa los pasos sobre cómo hacerlo.
Según la implementación basada en Pull, los nodos del agente verifican en un intervalo regular de 30 minutos con un nodo maestro cualquier cambio en el agente. En caso de requerimiento de cambio, el agente extrae un código específico del maestro y realiza las acciones necesarias en el nodo del agente.
- El agente envía hechos, es decir, su estado en el par de datos clave / valor, al maestro. El estado incluye el sistema operativo del sistema, el tiempo de actividad, es decir, el tiempo que el sistema está operativo, la dirección IP, es decir, la máquina física o virtual.
- Utilizando información de hechos, el maestro compila un catálogo que describe cómo se debe configurar el agente. Catálogo, un documento explica el estado deseado para los recursos del agente, el maestro administra en el agente.
- El agente responde al maestro con información sobre la finalización de la configuración, que se puede ver en el panel de Puppet.

P # 3) Explique el funcionamiento de títeres.
Responder: Se explica como sigue:
Las entidades necesarias para la ejecución incluyen Puppet Master y Puppet Agent.
El agente o los nodos son demonios que se ejecutan en servidores cliente. Estos servidores necesitan algunas configuraciones o se administran mediante Puppet. Este agente verifica las configuraciones a intervalos regulares con el maestro por cualquier cambio. El maestro consta de todas las configuraciones almacenadas para diferentes hosts y se ejecuta como un demonio en el servidor maestro. El agente y el maestro están conectados mediante Secure Sockets Layer (SSL).
El nodo conecta al maestro, el maestro analiza qué configuración y cómo se puede aplicar al nodo. Después del análisis, el maestro recopila recursos y configuraciones, compila y crea un catálogo y lo envía al agente del nodo. Después de aplicar la configuración, el agente envía el informe de configuración que se aplicó al servidor maestro.
P # 4) Describe el módulo de marionetas.
Responder: Los módulos son bloques de construcción básicos de la marioneta en una estructura de directorio que contiene clases, tareas, funciones, proveedores de recursos y sus tipos, y complementos como hechos o tipos personalizados. Es obligatorio tener módulos instalados en la ruta del módulo de marionetas. Estos módulos se utilizan para administrar tareas como la instalación o configuración de software en el sistema o servidor.
Hacer clic aquí para módulos listos para usar disponibles.
P # 5) ¿Qué es el catálogo en Puppet?
Responder: El catálogo es un documento con detalles del estado de cada maestro de recursos que administra en el nodo. Master compila un catálogo y lo envía de vuelta al agente. Tiene datos proporcionados por el agente en el nodo, datos externos y detalles relacionados con los manifiestos de marionetas.
Q # 6) Definir clases en Puppet.
Responder: Las clases son bloques de código, invocados por sus nombres, presentes en módulos. Las clases se utilizan para la funcionalidad de todos los paquetes, servicios y archivos de configuración necesarios para ejecutar una aplicación. Estos se pueden agregar al catálogo del nodo de dos maneras posibles, es decir, declarando estas clases en manifiestos o asignándolas desde un clasificador de nodos externo.
Las clases se pueden declarar en manifiesto de las dos formas siguientes:
Usando incluir class_name O usando clase { 'nombre de la clase' : }
el mejor programa para clonar hdd a ssd
La estructura de la clase de marionetas se explica en la siguiente figura:

P # 7) ¿Qué es manifiesto en Puppet?
Responder: Todos los programas Puppet escritos en lenguaje de programación Ruby y guardados con una extensión de .pp, y están construidos con la intención de crear y administrar cualquier máquina host en el destino se denominan Manifiesto.
Contiene Archivos (la marioneta selecciona y mueve estos archivos a una ubicación de destino), Plantillas (usado para crear archivos de configuración en el nodo), Nodos (las definiciones relacionadas con el nodo cliente se describen en los nodos), Recursos , y Clases.
P # 8) Describa en detalle acerca de Facter in Puppet.
Responder: Facter es una biblioteca multiplataforma de creación de perfiles de sistema que descubre e informa información del sistema por nodo conocida como hechos presentes como variables con valores en el formato clave-valor en los manifiestos.
Facters y Facts están disponibles en el código de Puppet como variables globales, se pueden usar en el código sin ninguna referencia en cualquier punto, en cualquier lugar del código. Facter es una biblioteca que identifica los detalles de los hechos que pueden contener el sistema operativo en uso, claves SSH, dirección IP, verificación de la máquina virtual o no, direcciones MAC, etc.
A continuación, se explican varios tipos de hechos utilizados:
- Hechos fundamentales: Se trata de información sobre recursos como la nube, discos, memoria, SO, ruta, procesadores y particiones. Podemos usar el siguiente comando para ver la lista completa de hechos y sus valores correspondientes en formato clave-valor.
- $ ejecutar hechos de marionetas
- Hechos personalizados: Usando export FACTER {fact’s_name} podemos agregar hechos personalizados al nodo. Estos hechos se personalizan para cumplir con los requisitos específicos de DevOps.
- Hechos externos: Para aplicar hechos en la etapa de aprovisionamiento, podemos usar hechos externos, aplicar metadatos a máquinas virtuales en AWS, proveedores de nube de OpenStack.
P # 9) ¿Qué quieres decir con Puppet Kick?
Responder: Puppet Kick, obsoleto en la versión actual, es una utilidad que activa el agente del maestro. Según los manuales de Ubuntu, 'puppet kick' es un script que se ejecutará como root para acceder a los certificados Secure Sockets Layer (SSL), conectar un conjunto de máquinas que ejecutan el agente y activarlas para que ejecuten sus configuraciones.
Además, este comando también busca en el Protocolo ligero de acceso a directorios (LDAP), los hosts que coinciden con esa configuración, se conecta con cada uno de ellos y se activa para ejecutar su configuración. Para iniciar el trabajo, el agente debe identificar y detectar conexiones entrantes y debe tener acceso al permiso para ejecutar puntos finales.
Q # 10) Describa la funcionalidad de MCollective en Puppet.
Responder: MCollective o Marionette Collective es un marco para crear coordinación, gestión y disposición automatizadas de infraestructura compleja, es decir, sistemas y servidores conocidos como Orchestration. Las tareas administrativas en clústeres de servidores se pueden ejecutar automáticamente utilizando MCollective.
Sus componentes son servidores, clientes y middleware. Mediante los comandos de MCollective podemos consultar el valor de los hechos, iniciar y detener servicios, iniciar la propia herramienta de configuración, así como consultar y actualizar el software.
P # 11) ¿Qué tiene de especial el diseño basado en modelos de Puppet?
Responder: Anteriormente, los administradores de sistemas seguían una serie de pasos para configurar y administrar la infraestructura, que comprende varios grupos de sistemas y servidores. En un enfoque de diseño basado en modelos, Puppet, que es un código automatizado escrito en Ruby, contiene todos los detalles de configuración que se compilan en un catálogo.
Este catálogo se envía a cada nodo y comparte recursos, valores y sus relaciones, se realiza la modificación necesaria de la configuración para los sistemas fallidos para restablecerlos al estado de ejecución normal.
P # 12) Dé algunos casos de uso para Puppet.
Responder: Puppet se utiliza para administrar y estandarizar la implementación de infraestructura.
Requisito: Startup Company ha trasladado su infraestructura a proveedores de servicios en la nube, como el servidor web de Amazon o los servicios de Google Cloud. El usuario final es responsable de la creación, estandarización y mantenimiento de sistemas y servidores en diferentes plataformas, aplicaciones y servicios, y desea instalar y utilizar Puppet para facilitar su tarea.
Escenario 1: Los administradores utilizan herramientas para estandarizar sus servidores y sistemas, como la creación de un archivo de manifiesto que tiene pasos escritos en el código de configuración para construir su nuevo servidor.
Por ejemplo,
- Instalación del sistema operativo, digamos Linux.
- Verificación del espacio en disco de Linux mediante el software File light o DUC.
- Instalación de Java.
- Instalación de Tomcat.
- Instalación de SQL Server como RDBMS.
- Instalación de parche para una aplicación que se creará y probará para el aprendiz de desarrollo de software.
Escenario 2: Creación de archivo, que enumera todos los pasos anteriores en el manifiesto, que se puede ejecutar utilizando el comando de marioneta para realizar los pasos mencionados automáticamente en el archivo de manifiesto. De esta manera, se sigue la estandarización de los pasos mientras se implementa un nuevo sistema utilizando el manifiesto y el comando.
Escenario 3: El manifiesto creado se utilizará para construir un servidor en la nube a través de la API para que todas las tareas manuales se puedan realizar automáticamente.
P # 13) Explique los comandos “etckeeper-commit-post” y “etckeeper-commit-pre”.
Responder: A continuación se muestra la diferencia entre ambos comandos
- etckeeper-commit-post es un comando escrito en el archivo de configuración, que se puede ejecutar después de presionar la configuración en el agente.
- etckeeper-commit-pre es un comando escrito en el archivo de configuración, que se puede ejecutar antes de enviar la configuración al agente.
P # 14) ¿Enumerar los caracteres permitidos en un nombre de clase, nombre de módulo e identificadores?
Responder: Los siguientes son caracteres aceptables al declarar el nombre de la clase y el nombre del módulo:
- Debe comenzar con una letra minúscula.
- Puede incluir letras minúsculas, dígitos y guiones bajos.
- Operador de resolución de alcance, es decir, '::' son separadores de espacio de nombres en la definición de nombre de clase.
Con el nombre de variable, los caracteres aceptados son los que se mencionan a continuación:
- Puede comenzar con letras mayúsculas y minúsculas.
- Puede contener números y guiones bajos ('_').
- Si el primer carácter es un guión bajo, entonces solo se puede acceder a la variable desde su propio ámbito local.
- Las variables distinguen entre mayúsculas y minúsculas.
P # 15) ¿Qué esperar si no firma un Acuerdo de licencia de colaborador?
Responder: Es una condición obligatoria para firmar un Acuerdo de licencia de colaborador (CLA) para los colaboradores de código de Puppet o Facter, sin el cual su código no puede ser aceptado. Para encontrar y descargar código Puppet o Facter escrito en Ruby, el usuario debe iniciar sesión en su cuenta de GitHub y firmar un acuerdo.
P # 16) ¿Explica la importancia y ubicación de codedir en Puppet?
Responder: El maestro usa codedir y aplica el comando, pero no el agente. Es el directorio principal de datos y código que utiliza un entorno que contiene manifiestos y módulos, directorio de módulos globales y datos y configuración de Hiera.
Este código codificado se encuentra en los siguientes directorios locales
En caso de Windows: C: ProgramData PuppetLabs puppet etc
Considerando que para Linux: / etc / dir / PuppetLabs / code
Q # 17) Describe a Hiera.
Responder: Hiera es un sistema de búsqueda de datos de configuración en formato clave-valor. Ayuda a recuperar datos del código Puppet. Este código utiliza este sistema para llamadas de búsqueda de parámetros explícitas para clases de un catálogo. Este sistema utiliza los datos de Puppet para identificar fuentes de datos. Son 5thLa versión admite archivos de datos en formatos JSON, YAML y EYAML.
Busca datos de configuración en tres capas independientes de configuración, comenzando desde el entorno global, luego el entorno y finalmente la capa de configuración del módulo.
P # 18) Describe los recursos virtuales en Puppet.
Responder: Durante la configuración de Puppet, se produce un error de declaración de recurso duplicado en caso de que el mismo recurso se use más de una vez. Esta herramienta resuelve este problema al introducir un recurso virtual. La declaración de recurso virtual hace que su recurso esté disponible para los recolectores y realiza su función. También gestiona el estado cuando se realiza el recurso.
Puede encontrar recursos virtuales no realizados marcados como inactivos incluidos en el catálogo. Los recursos virtuales se aplican para la gestión de recursos cuyas múltiples condiciones entre clases se cumplen y para conjuntos de recursos superpuestos por múltiples clases.
mejores aplicaciones de descarga de mp3 para android
P # 19) Describe la ruta del módulo.
Responder: El servicio maestro y con el comando puppet apply donde los manifiestos Puppet se aplican localmente, cargan su contenido desde módulos (instalados en la ruta del módulo puppet) desde uno o más de los directorios. Es la lista ordenada de directorios buscados por módulos por Puppet. Estos directorios de la lista de rutas de módulos están separados por un carácter separador.
En Linux, es dos puntos (:) y en Windows, es un punto y coma (;).
P # 20) Proporcione detalles sobre la ruta del módulo base.
Responder: La lista de directorios de módulo global es la ruta de módulo base para aplicar con todos los entornos, configurada con la configuración de ruta de módulo base, con el valor predeterminado como se muestra a continuación:
En el caso de Linux: $ codedir / modules: / opt / puppetlabs / puppet / modules
En caso de Windows: $ codedir modules
P # 21) Describa sobre el directorio Cache en Puppet.
Responder: Puppet durante las operaciones normales, almacena los datos generados en un directorio de caché llamado vardir. Estos datos se pueden extraer para su análisis. En caso de agente y aplicar comando, El directorio de caché se puede encontrar en una de las siguientes ubicaciones:
En el caso de Windows, es C: programed PuppetLabs puppet cache
Mientras que en Linux es / opt / puppetlabs / puppet / cache , alternativamente, usando la opción –vardir en la línea de comando, especificará la ubicación del directorio de caché de marionetas. Podemos cambiar la ubicación de los archivos y directorios vardir, cambiando la configuración de puppet.conf.
P # 22) Explique sobre los “entornos” en Puppet.
Responder: El entorno es una distribución lógica que separa los módulos y se manifiesta en secciones o carpetas separadas para los nodos con el fin de obtener un poco de código según el entorno al que pertenezca el nodo, se establece estáticamente en puppet.conf. Es una función para dividir la configuración de la infraestructura en entornos. El administrador puede usar un solo maestro para servir múltiples configuraciones aisladas.

P # 23) Describe los recursos en Puppet.
Responder: Puppet Resources usa construir, diseñar y administrar la infraestructura del sistema o del servidor. Esta herramienta tiene varios tipos de recursos para construir y definir nuevos recursos para definir la arquitectura del sistema. El bloque de código de títeres en el archivo de manifiesto (declaración de recursos) se crea utilizando el lenguaje de modelado declarativo (DML).
Contiene Tipo de recurso, parámetro de recurso, atributos, y Valores.

P # 24) Explica los tipos de recursos en Puppet.
Responder: Los componentes del sistema gestionado por marionetas se analizan con la ayuda de los tipos de recursos. Pocos tipos de recursos comunes son grupo, paquete, usuario, archivo y servicio.
Hay dos tipos de recursos, tipos integrados y tipos personalizados. Algunos de los tipos de recursos integrados son grupo, paquete, usuario, archivo y servicio. Puede encontrar tipos personalizados distribuidos en módulos de marionetas referidos desde forge.puppet.com.
P # 25) Explica la definición de nodo en Puppet.
Responder: La definición o declaración de nodo es un bloque de código títere que coincide con el catálogo del nodo. Permite la asignación de una configuración específica al nodo afectado.
Su sintaxis es similar a la de las definiciones de clase con palabra clave de nodo, nombre de definición de nodo, llave de apertura, una mezcla de declaraciones de clase y recurso, recopiladores, variables, declaraciones condicionales, funciones y relaciones de encadenamiento, finalmente una llave de cierre.
Q # 26) Describe funciones en Puppet.
Responder: Las funciones de marionetas son complementos que se utilizan durante la compilación del catálogo. La llamada a la función por manifiesto hace que la función se ejecute y devuelva el valor y modifica el catálogo como efecto secundario.
cómo implementar el gráfico en java
Uno puede crear sus propias funciones que aceptan argumentos a través de parámetros para transformar datos y construir valores. Estos son complementos o expresiones que se llaman para resolver el valor y pueden ser incorporados o personalizados.
Q # 27) Dar ejemplos para configurar sistemas usando Puppet
Respuesta: A continuación se enumeran algunos ejemplos del sistema configurado con títeres:
- Administrar el servicio NTP: El Protocolo de tiempo de red (NTP) es el servicio más esencial que se puede administrar y configurar mediante títeres para sincronizar el tiempo en todos los nodos.
- Administrar privilegios de Sudo: El comando Sudo de sus agentes identificará a los usuarios del sistema con privilegios de acceso elevados.
- Administrar un archivo de servidor de nombres DNS: El servidor de nombres que asigna direcciones IP entendidas por computadoras con URL legibles por humanos se puede administrar usando esta herramienta de configuración.
- Administrar reglas de firewall: Varias reglas y políticas como puertos de aplicación (TCP / UDP), puertos de red, dirección IP y declaraciones de denegación de acceso se pueden diseñar con firewall, con las políticas de firewall de la herramienta se pueden administrar.
P # 28) Describe el manifiesto principal o del sitio en títere.
Responder: El agente envía el estado de los recursos llamados hechos al maestro, en función de la información recibida. Master compilará el catálogo en forma de un solo archivo de manifiesto, conocido como manifiesto principal o del sitio. El maestro utiliza el archivo de manifiesto principal, ya sea uno o un directorio de archivos .pp, configurado por el entorno del nodo actual, que con la ayuda de la configuración del manifiesto en environment.conf, determina el manifiesto principal.
P # 29) ¿Qué quiere decir con títere aplicar?
Responder: Puppet Apply es un comando de ejecución independiente para aplicar a un manifiesto individual. Este código cuando se aplica a la ruta del módulo a través de la línea de comandos o el archivo de configuración, actúa como un catálogo. 'Puppet apply' es un código de línea de comandos para aplicar una configuración.
P # 30) Enumere las empresas que utilizan Puppet.
Responder: Pocas organizaciones empresariales multinacionales que utilizan Puppet en la gestión y configuración de su infraestructura son:
- KPN - Compañía holandesa de telecomunicaciones móviles y fijas, Países Bajos
- CERN - Organización Europea para la Investigación Nuclear
- Aegon UK - proveedor de servicios financieros
- NYSE - Bolsa de Valores de Nueva York
- ICE - Intercambio intercontinental
- Banco ANZ
- Cisco
- Splunk
P # 31) Explique qué preparativos previos a la instalación necesitará antes de instalar Puppet Open Source.
Responder: Hay algunos preparativos y requisitos antes de instalar Puppet Open Source
- Selección de servidor como maestro.
- Valide que los servidores y la red estén listos y preparados para la instalación con las siguientes instrucciones:
- Selección del tipo de implementación para el servidor seleccionado. Podemos usar Docker compose basado en stack-puppet ware o en caso de que ya tenga Docker, luego clone el repo.
- ejecutar el comando docker-compose up
- Instalar agentes
- Una vez que Puppet Server está configurado, necesitamos instalar el paquete del agente en la máquina del nodo en la que se necesita la herramienta de administración de configuración.
- Según su sistema operativo, tiene Linux, OS X y Microsoft Windows para seleccionar.
- Puede utilizar NTP y sudoers para automatizar el código de Puppet para diseñar la configuración.
Q # 32) Explique la empresa Puppet.
Responder: Puppet Enterprise es escalable en varios equipos, sistemas, en las instalaciones o en servidores en la nube, mediante la implementación de políticas de cumplimiento y seguridad junto con la configuración para la infraestructura de migración en las instalaciones y en la nube sin tiempo de inactividad.
También genera informes sobre el estado del código que se construye e información sobre quién y qué cambios se realizaron en un código de infraestructura, activan controles de análisis en intervalos regulares en la infraestructura para evaluar cualquier impacto antes de cualquier incidencia.
P # 33) Describa el remedio de marionetas.
Responder: Escanea la infraestructura y produce datos sobre vulnerabilidades en formatos rastreables y auditables para priorizar sus resoluciones. Remediar equilibra las herramientas que evalúan las vulnerabilidades y prioriza las tareas que necesitan una resolución inmediata, atiende dichas tareas ejecutando tareas predefinidas como administrar paquetes, servicios o ejecutar el script de shell y solucionar problemas de inmediato.
P # 34) Explique el funcionamiento de Puppet Relay.
Responder: Puppet Relay monitorea su infraestructura y ejecuta scripts de automatización que no solo activan alertas en caso de incidentes usando API, herramientas de DevOps disponibles conectando sistemas locales o conectados a la nube, sino que restablece la instancia usando los detalles de configuración predeterminados presentes en los catálogos del manifiesto y finalmente informa el equipo de la instancia.
Q # 35) ¿Qué es Bolt?
Responder: Bolt automatiza la coordinación, gestión y configuración de sistemas informáticos y servicios relacionados que se procesaron manualmente anteriormente y mantiene toda la infraestructura de una organización.
Conclusión
Puppet es una herramienta de gestión de configuración automatizada para infraestructura local y virtual que sigue el modelo cliente-servidor, donde una máquina es maestra y otras máquinas actúan como agente o nodos. Su objetivo principal es administrar los recursos en el servidor de su infraestructura. El recurso es un código que administra las características del servidor, como una cuenta de usuario o contenido de software.
Esta herramienta de administración de la configuración nos da poder para expresar la configuración del servidor en código para administrar automáticamente su infraestructura.
Estamos seguros de que este tutorial sobre las preguntas de la entrevista de Puppet lo ayudará a prepararse para su próxima entrevista.
Lectura recomendada
- Preguntas y respuestas de la entrevista
- Preguntas y respuestas de la entrevista de prueba ETL
- Algunas preguntas y respuestas complicadas sobre pruebas manuales
- Más de 35 preguntas y respuestas principales de la entrevista de Apache Tomcat
- Las 35 preguntas y respuestas más frecuentes de la entrevista de Struts
- Más de 35 preguntas y respuestas más comunes de entrevistas de Microsoft Excel
- Las 35 preguntas y respuestas principales de las entrevistas de Android
- TOP 35 preguntas y respuestas de entrevistas en HTML5