Estoy aprendiendo mi camino a través de la gestión de la configuración en general y usando Puppet para implementarlo en particular, y me pregunto qué aspectos de un sistema, si los hay, no deberían gestionarse con Puppet.
Como ejemplo, generalmente damos por sentado que los nombres de host ya están configurados antes de prestar el sistema a la administración de Puppet. La conectividad IP básica, al menos en la red utilizada para llegar al puppetmaster, tiene que estar funcionando. Usar la marioneta para crear automáticamente archivos de zona dns es tentador, pero los punteros inversos de DNS ya deberían estar en su lugar antes de comenzar la cosa o los certificados serán divertidos.
Entonces, ¿debo dejar de lado la configuración de IP de Puppet? ¿O debería configurarlo antes de iniciar Puppet por primera vez pero administrar direcciones IP con Puppet de todos modos? ¿Qué pasa con los sistemas con múltiples IP (por ejemplo, para WAN, LAN y SAN)?
¿Qué hay de IPMI ? Puede configurar la mayoría, si no todos, con ipmitool , evitando que obtenga acceso a la consola (física, serial-over-lan, KVM remoto, lo que sea) para que pueda automatizarse con puppet. Pero volver a verificar su estado en cada ejecución de agente de marionetas no me parece genial, y el acceso básico al sistema de luces apagadas es algo que me gustaría tener antes de hacer cualquier otra cosa.
Otra historia completa es sobre la instalación de actualizaciones. No voy a entrar en este punto específico, ya hay muchas preguntas sobre SF y muchas filosofías diferentes entre diferentes administradores de sistemas. Yo mismo, decidí no permitir que Puppet actualizara las cosas (por ejemplo, solo ensure => installed
) y las actualizara manualmente como ya estamos acostumbrados, dejando la automatización de esta tarea para un día posterior cuando tengamos más confianza con Puppet (por ejemplo, agregando MCollective a la mezcla).
Esos fueron solo un par de ejemplos que ahora tengo en mi mente. ¿Hay algún aspecto del sistema que deba dejarse fuera del alcance de la marioneta? O, dicho de otra manera, ¿dónde está la línea entre lo que debe configurarse en el momento del aprovisionamiento y la configuración "estática" en el sistema, y lo que se maneja a través de la administración de configuración centralizada?