Puppet requiere certificados entre el cliente (puppet) que se administra y el servidor (puppetmaster). Puede ejecutar manualmente en el cliente y luego ir al servidor para firmar el certificado, pero ¿cómo automatiza este proceso para clústeres / máquinas en la nube?
26
Respuestas:
En el servidor (puppetmaster) ejecute:
Luego copie lo siguiente del servidor en el cliente:
Si desea firmar
<NAME>
como algo diferente al nombre de host, use:Y agregue a /etc/puppet/puppet.conf si ejecuta el demonio
fuente
puppet cert --generate <NAME>
ver serverfault.com/a/457364/71452Si tiene una base de datos de host, puede usar la función de firma automática. En su
puppet.conf
archivo, en el[puppetmasterd]
, agregue:Luego use un crontab para generar este archivo. El archivo de firma automática es solo una lista de hosts para firmar automáticamente cuando se conectan por primera vez al puppetmaster. Uso LDAP para configurar mis hosts de marionetas, por lo que mi cron se ve así:
Estoy seguro de que las personas que usan iClassify podrían escribir una consulta para hacer lo mismo.
Por supuesto, debe confiar en la red. Yo uso esto en EC2. Mi servidor puppetmaster está en un grupo que solo permite conexiones de otros grupos de confianza. No recomendaría hacer esto si tu puppetmaster está abierto a internet.
fuente
Respuesta simple: firmar automáticamente nuevas solicitudes. Por supuesto, esto es peligroso porque confías ciegamente en cualquier sistema que se conecte a tu puppetmaster, que es el propósito de requerir la firma manual.
También puede especificar falso y un archivo para determinar qué claves firmar.
Vea la referencia de configuración en el wiki de Puppet.
Otra opción es usar una herramienta como Capistrano , donde especifica el nodo puppetmaster y crea los nodos de instancia del cliente, y en la tarea:
fuente
[puppetmasterd]
encabezado de la sección ahora debería ser[master]
. Consulte docs.puppetlabs.com/guides/tools.html para obtener más información.En el servidor (puppetmaster) ejecute:
Luego copie lo siguiente del servidor en el cliente:
Si desea tener como algo diferente al nombre de host use:
Y agregue a /etc/puppet/puppet.conf si ejecuta el demonio
fuente