Your SlideShare is downloading. ×
0
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Gestionando servidores con Puppet
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Gestionando servidores con Puppet

3,152

Published on

Charla sobre gestión de servidores con Puppet realizada en los cursos del GUL de la Universidad Carlos III de Madrid por Javier Turégano. …

Charla sobre gestión de servidores con Puppet realizada en los cursos del GUL de la Universidad Carlos III de Madrid por Javier Turégano.

La charla se divide principalmente en 3 partes: describir el problema que encaramos cuando intentamos administrar el creciente número de servidores que requiere cualquier entidad que consuma servicios de IT, algunas de las posibles soluciones que podemos encontrar y qué características debe tener una solución a este problema y por último cómo Puppet puede ser esta solución y una pequeña introducción a cómo funciona.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,152
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
62
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Gestionando servidores con Puppet Javier Turégano Molina Cursos GUL Universidad Carlos III 09 Nov 2010
  • 2. Índice • El problema • Posibles soluciones • Puppet • Dudas y preguntas
  • 3. ¿Qué es eso de administrar? ¿Todas las redes/sistemas se administran igual?
  • 4. Y aún nos faltaba... “La nube”
  • 5. Pero entonces... ¿Se trata sólo de una cuestión de tamaño?
  • 6. Gestión Homogénea de Servidores Heterogéneos
  • 7. Evitar errores humanos
  • 8. Reproducibilidad Vuelta atrás
  • 9. Estandarizar Compartir
  • 10. Posibles Soluciones
  • 11. Posibles Soluciones PXE/Kickstar Plantillas (Virtualización/Cloud) Red Hat Satelite/Network/Spacewalk Ubuntu Landscape Cobbler
  • 12. Posibles Soluciones (II) CfEngine Puppet Chef Capistrano ControlTier
  • 13. Comparativa En Wikipedia: http://en.wikipedia.org/wiki/Comparison_of_o pen_source_configuration_management_soft ware
  • 14. Framework libre para la gestión de configuración y automatización de centros de datos. Puppet
  • 15. • Lenguaje declarativo (qué y no cómo) • • Arquitectura cliente/servidor (SSL) • Escrito en ruby (extensible) • Módulos (forja) • Sistema de plantillas • Facter • Dashboard Componentes
  • 16. ¿Quién usa Puppet?
  • 17. Instalación En el servidor: apt-get install puppetmaster En los clientes: apt-get install puppet Por defecto intentarán conectarse al maestro en el nombre de host puppet
  • 18. Configuración Cliente Los clientes buscan al maestro en: Puppet Podemos indicar dónde se encuentra editando /etc/puppet/puppet.conf [puppetd] server=maestro.midominio.es
  • 19. Firmamos el certificado de cliente En el puppetmaster ejecutamos: puppetca –list servidor1.midominio.com puppetca --sign servidor1.midominio.com notice: Signed certificate request for servidor1.midominio.com
  • 20. Configurando el servidor de ficheros En el puppetmaster editamos /etc/puppet/fileserver.conf [files] path /etc/puppet/files # allow *.example.com # deny *.evil.example.com allow 192.168.0.0/16
  • 21. Firmamos el certificado de cliente En el puppetmaster ejecutamos: puppetca –list servidor1.midominio.com puppetca --sign servidor1.midominio.com notice: Signed certificate request for servidor1.midominio.com
  • 22. Firmamos el certificado de cliente En el puppetmaster ejecutamos: puppetca –list servidor1.midominio.com puppetca --sign servidor1.midominio.com notice: Signed certificate request for servidor1.midominio.com
  • 23. Definiendo un recurso file { "/etc/passwd": owner => "root", group => "root", mode => 644, }
  • 24. Tipos de recursos Acceso y permisos: file, group, user, ssh Paquetes: package, yumrepo Servicios: service, cron Sistema de ficheros: file, mount, zfs, zone, zpool Equipos: host Correo: mailalias, maillist Ejecución: scripts: exec OSX: macauthorization, mcx, computer
  • 25. Nuestra primera clase class ssh { package { ssh:ensure => installed } file { sshd_config: name => “/etc/ssh/sshd_config”, source => “puppet://ssh/sshd_config” } service { sshd: ensure => running } }
  • 26. Formato de un módulo /etc/puppet/modules/<nombre-modulo> /files /conf-file1 /conf-file2 /manifests /init.pp /templates /template1.erb /template2.erb
  • 27. Formato de un módulo /etc/puppet/modules/<nombre-modulo> /files /conf-file1 /conf-file2 /manifests /init.pp /templates /template1.erb /template2.erb
  • 28. Los nodos La configuración de los nodos la encontramos en /etc/puppet/manifests/ site.pp → Conf genérica nodes/servidor1.midominio.com nodes/servidor2.midominio.com
  • 29. Nodo por defecto node default { include sudo include vim }
  • 30. Un nodo tipo servidor node basicserver inherits default { include ntp::client include amanda::client include nagios::nrpe package { ["rsync", "debconf-utils", "less", "pciutils"]: ensure => present } case $os { "Debian": { include aptconf } } }
  • 31. Nodo concreto node servidor1.midominio.es inherits basicserver { include ssh file { “/etc/passwd”: source => “puppet://private/etc/passwd” } }
  • 32. Plantillas define jboss::configrun( $xms=512 , $xmx=1024 , $maxpermsize=128 ) { file { "/opt/jboss/bin/run.conf": content => template("jboss/run.conf.erb"), owner => "jboss", group => "jboss"; } }
  • 33. Plantillas Contenido de la plantilla tempaltes/run.conf.erb: JAVA_OPTS="-server -Xms<%= xms %>m -Xmx<%= xmx %>m -XX:MaxPermSize=<%= maxpermsize %>m
  • 34. Facter Con facter podemos obtener datos del equipo que se está configurando y usarlo en plantillas o cómo variables: architecture => amd64 domain => midominio.es facterversion => 1.5.1 fqdn => servidor1.midominio.es hardwareisa => unknown hardwaremodel => x86_64 hostname => servidor1 id => root interfaces => eth0
  • 35. Dashboard
  • 36. www.turegano.net www.twitter.com/setoide Licencia Creative Commons Reconocimiento 2.5 de España Contacto
  • 37. Titulo Autor Licencia IMG_0696 Jemimus Reconocimiento-NoComercial-CompartirIgual 2.0 Genérica The main cast Tim Dorr Reconocimiento-NoComercial-CompartirIgual 2.0 Genérica The Planet Data Center The Planet Reconocimiento-CompartirIgual 2.0 Genérica Dead Admin Arthur40A Reconocimiento-CompartirIgual 2.0 Genérica DataCenter Work stars6 / Leonardo Rizzi Reconocimiento-CompartirIgual 2.0 Genérica dsc_9120_v2 Francesco Crippa Reconocimiento 2.0 Genérica Colourful army maistora Reconocimiento-NoComercial-SinObraDerivada 2.0 Genérica Head in Hands Alex E. Proimos Reconocimiento 2.0 Genérica Crisp, Apple, Strudel, Schnitzel and Noodles Caro's Lines Reconocimiento-NoComercial-CompartirIgual 2.0 Genérica Potion Bottles MrBobDobolina Reconocimiento-NoComercial-CompartirIgual 2.0 Genérica Tekenen Inferis Attribution-NonCommercial-ShareAlike 2.0 Generic Listado de ilustraciones

×