$30 off During Our Annual Pro Sale. View Details »

puppet labs

puppet labs

Introducció al desplegament de servidors amb Puppet per part d'Edu Herraiz @eduherraiz de Mola.

creantbits

July 26, 2013
Tweet

More Decks by creantbits

Other Decks in Programming

Transcript

  1. [email protected]
    @eduherraiz
    www.eduherraiz.com

    View Slide

  2. 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

    View Slide

  3. View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. Aprovisionar

    View Slide

  8. Configurar

    View Slide

  9. Monitorizar

    View Slide

  10. Backup

    View Slide

  11. Tareas periódicas

    View Slide

  12. Puppet - @eduherraiz - Julio 2013
    Evolución

    View Slide

  13. Puppet - @eduherraiz - Julio 2013
    Puppet - @eduherraiz - Julio 2013
    Tareas periódicas
    Backup
    Monitor
    Configuración
    Aprovisionar

    View Slide

  14. Puppet - @eduherraiz - Julio 2013
    Puppet - @eduherraiz - Julio 2013
    Tareas periódicas
    Backup
    Monitor
    Configuración
    Aprovisionar

    View Slide

  15. Puppet - @eduherraiz - Julio 2013
    Puppet - @eduherraiz - Julio 2013
    Tareas periódicas
    Backup
    Monitor
    Configuración
    Aprovisionar
    Fabric

    View Slide

  16. Puppet - @eduherraiz - Julio 2013
    Puppet - @eduherraiz - Julio 2013
    Tareas periódicas
    Backup
    Monitor
    Configuración
    Aprovisionar
    Fabric

    View Slide

  17. Puppet - @eduherraiz - Julio 2013
    Puppet - @eduherraiz - Julio 2013
    Tareas periódicas
    Backup
    Monitor
    Configuración
    Aprovisionar
    Fabric
    omdistro.org

    View Slide

  18. 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

    View Slide

  19. 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

    View Slide

  20. Lenguaje de definición de configuraciones
    (manifiestos)
    Paquetes y fuentes
    Ficheros (permisos, propietario, grupos) y plantillas
    Servicios
    Hosts
    Ejecutar comandos
    Cron
    http://www.puppetcookbook.com/
    Puppet - @eduherraiz - Julio 2013

    View Slide

  21. 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

    View Slide

  22. 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

    View Slide

  23. 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

    View Slide

  24. :-)
    ¿Preguntas?
    Puppet - @eduherraiz - Julio 2013

    View Slide

  25. Puppet - @eduherraiz - Julio 2013
    Demo and show me the code

    View Slide