Puppet - @eduherraiz - Julio 2013 ● Ingeniero técnico en gestión por la UIB desde 2008 ● 4 años en IFISC administrando servidores y programando web ● 1 año en www.mola.com administrando sistemas ● Fanático GNU / Linux desde 2002 ● Me gusta un poco el diseño en HTML+CSS y el diseño gráfico ● www.pescandoenmallorca.com ● www.foowill.com ● www.eduherraiz.com Presentación
Puppet Centralización de las configuraciones de sistema (nodos) Desde 2005 Hecho en Ruby Software Libre (Licencia Apache) Última versión estable: 3.2.2 Puppet - @eduherraiz - Julio 2013
Cliente - servidor Se instala el cliente y se genera un certificado El certificado debe firmarse en el servidor (o auto sign) Se escribe el manifiesto del nodo en el servidor El cliente recoge su configuración y la aplica Servicio en el cliente que se ejecuta cada x minutos [30] A mano: ssh → puppet agent --test Fabric, Mcollective (también de puppetlabs) Puppet - @eduherraiz - Julio 2013
Lenguaje Lenguaje declarativo (no scripting) Debes especificar las relaciones entre los elementos Pues al configurar no sabes cuando se ejecutará cada cosa Ejemplo: instalar un paquete antes de configurarlo Variables, clases y definiciones para ahorrar código Puppet - @eduherraiz - Julio 2013
Pensado para compartir (módulos) Manifiestos externos que te simplifican el trabajo https://forge.puppetlabs.com/ Se instalan en el servidor de puppet puppet module install puppetlabs/apache Los clientes se sincronizan al aplicar la configuración Puppet - @eduherraiz - Julio 2013
Un manifiesto para gobernarlos a todos Multi-sistema (Linux, Windows, basados unix) Multi-arquitectura Multi-distribución ¿Cómo? Facter: librería para extraer la información del nodo Discriminar según esa información en el manifiesto Puppet - @eduherraiz - Julio 2013