“Mejores Prácticas para el Aprendizaje de Títeres”. Aunque hay varias formas en las que puede dominar el DSL de Puppet, elegí hablar específicamente de nuestra VM de Learning Puppet porque me parece que es la forma más rápida y sencilla de aprender Puppet. Para aquellos de ustedes que no saben, el Learning Puppet VM es una máquina virtual gratuita con una serie de tutoriales sobre el lenguaje y las herramientas de Puppet. ¡Compruébalo aquí!
Aunque principalmente aprendí cómo instalar el Learning Puppet VM durante el seminario web, recibí una serie de preguntas interesantes sobre una amplia gama de temas que se extendieron más allá del alcance del seminario web. Desafortunadamente, no tuve tiempo de responderlas todas, pero me gustaría compartir algunas de las preguntas que me parecieron particularmente interesantes y relevantes para aprender Títere y dominar conceptos básicos:
¿Cómo se distribuyen las configuraciones sobre los otros nodos? En un nivel alto, ¿cómo funciona?
Entonces aplicaste el .pp al Puppet Master, ¿sí? ¿Hay un nodo ya configurado como parte del tutorial?
En un entorno maestro / agente títere, el agente envía datos de hechos al maestro, que luego se utilizan para compilar un catálogo único de recursos para ser administrados específicamente para el agente solicitante. Esto garantiza que el agente solo reciba una lista de recursos y los estados en los que debe estar. Al escribir manifiestos, le está describiendo al maestro títere cómo quiere que se vean los recursos, luego utiliza esos manifiestos para compilar un catálogo único de recursos. para el agente, que luego se distribuyen de nuevo al agente. Toda esta comunicación ocurre en un túnel SSL con autenticación de certificado en ambas direcciones, por seguridad.
- ¿Qué es lo que aprendiste mientras realizabas un MBA que crees que no podrías haber aprendido de otra manera?
- ¿Alguien ha tomado Rob Percivals ios9 curso rápido? Si es así, ¿realmente le dio un buen comienzo en el proceso de aprendizaje?
- ¿Cuáles son las mejores maneras de comenzar a aprender bioinformática para un biólogo de laboratorio?
- ¿Cómo se cree que las señales de recompensa cambian las sinapsis en la corteza?
- ¿Qué has aprendido de Peter Thiel?
En el Learning Puppet VM, el nodo también es un agente de sí mismo. La segunda mitad de los Documentos de aprendizaje profundiza más a partir de la relación y comunicación entre el maestro y el agente.
¿Es la mejor práctica nombrar a la máquina títere-maestro “títere” para facilitar la administración (codificada en los clientes)?
Puppet intentará comunicarse con un maestro en “puppet”, la mayoría de los sistemas operativos de configuración de resolución agregarán el componente del dominio automáticamente (es decir, http://puppet.mycompany.com), pero Puppet no lo hace internamente. En el momento de la instalación, Puppet Enterprise sí incluye este nombre DNS alternativo en el certificado para el maestro, por lo que siempre que haya una entrada de DNS creada para apuntar a esto, permitiría una configuración mínima de los clientes para hablar con el maestro. El instalador de Puppet Enterprise Agent también le permite pasarle un archivo de respuestas que contiene el nombre del maestro, por lo que aún puede usar otros nombres de host que puedan ser más apropiados para el esquema de nombres de su organización.
Si hay una condición de error, en medio de la secuencia de comandos, ¿cómo recomendaría revertir lo que realmente se completó?
Puppet no envía ‘scripts’ a los agentes, sino que envía una lista de recursos y los estados en los que deben estar. El agente títere actúa sobre esa información para hacer que los recursos coincidan con el estado deseado. En ese sentido, si una ejecución de títere falla en el agente, informará cómo (no se pudo instalar un paquete, por lo que tampoco se aplicaron los recursos dependientes de ese paquete) falló, por lo que uno puede remediarlo. Dado que el resto de la ejecución de Puppet continuará administrando los recursos que no fallaron, se podría revertir y aplicar la versión anterior de los archivos de manifiesto (recomendamos almacenar todo el código de Puppet en un sistema de control de versión como Git o Subversión en parte por este motivo), o simplemente determine qué causó la falla (falta de acceso a un repositorio de Yum para instalar el paquete necesario), y una vez resuelto, simplemente realice la ejecución de Puppet nuevamente. Dado que Puppet incluye un modo NoOp, también puede simular todas sus carreras de títeres sin realizar cambios en su sistema. El uso del modo NoOp para simular cambios, junto con el hecho de que Puppet es idempotente y solo cambia las cosas en el sistema que necesita, y que puede modelar las dependencias explícitas entre los recursos, significa que si tiene una ejecución fallida de Puppet, puede Solucione fácilmente el fallo y una vez solucionado, podría realizar otro para solucionar el problema.
¡Espero que hayas encontrado útiles las preguntas y mis respuestas anteriores! Hemos recibido una gran cantidad de solicitudes para obtener más información de nivel de entrada y recursos sobre el universo de Puppet Enterprise, así que permanezca atento a más seminarios web similares a nuestras Mejores Prácticas de Aprender Puppet. Si tiene preguntas adicionales, no dude en escribirlas en los comentarios a continuación.