SlideShare une entreprise Scribd logo
1  sur  45
Gestionando
servidores con
Puppet
Javier Turégano Molina
Cursos GUL
Universidad Carlos III
09 Nov 2010
Índice
• El problema
• Posibles soluciones
• Puppet
• Dudas y preguntas
¿Qué es eso de administrar?
¿Todas las redes/sistemas se
administran igual?
Y aún nos faltaba...
“La nube”
Pero entonces...
¿Se trata sólo de una cuestión
de tamaño?
Gestión Homogénea
de Servidores Heterogéneos
Evitar errores humanos
Reproducibilidad
Vuelta atrás
Estandarizar Compartir
Posibles Soluciones
Posibles Soluciones
PXE/Kickstar
Plantillas (Virtualización/Cloud)
Red Hat Satelite/Network/Spacewalk
Ubuntu Landscape
Cobbler
Posibles Soluciones (II)
CfEngine
Puppet
Chef
Capistrano
ControlTier
Comparativa
En Wikipedia:
http://en.wikipedia.org/wiki/Comparison_of_o
pen_source_configuration_management_soft
ware
Framework libre para la
gestión de configuración
y automatización de
centros de datos.
Puppet
• Lenguaje declarativo
(qué y no cómo)
•
• Arquitectura cliente/servidor (SSL)
• Escrito en ruby (extensible)
• Módulos (forja)
• Sistema de plantillas
• Facter
• Dashboard
Componentes
¿Quién usa Puppet?
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
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
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
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
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
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
Definiendo un recurso
file { "/etc/passwd":
owner => "root",
group => "root",
mode => 644,
}
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
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 }
}
Formato de un módulo
/etc/puppet/modules/<nombre-modulo>
/files
/conf-file1
/conf-file2
/manifests
/init.pp
/templates
/template1.erb
/template2.erb
Formato de un módulo
/etc/puppet/modules/<nombre-modulo>
/files
/conf-file1
/conf-file2
/manifests
/init.pp
/templates
/template1.erb
/template2.erb
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
Nodo por defecto
node default {
include sudo
include vim
}
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
}
}
}
Nodo concreto
node servidor1.midominio.es inherits
basicserver {
include ssh
file { “/etc/passwd”:
source => “puppet://private/etc/passwd”
}
}
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";
}
}
Plantillas
Contenido de la plantilla tempaltes/run.conf.erb:
JAVA_OPTS="-server -Xms<%= xms %>m -Xmx<%= xmx
%>m -XX:MaxPermSize=<%= maxpermsize %>m
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
Dashboard
www.turegano.net
www.twitter.com/setoide
Licencia Creative Commons Reconocimiento 2.5 de España
Contacto
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

Contenu connexe

Tendances

Instalar unix Euller Yugsan 108 bb72
Instalar unix Euller Yugsan 108 bb72Instalar unix Euller Yugsan 108 bb72
Instalar unix Euller Yugsan 108 bb72
Euller108BB72
 
Sandra saldaña instalarunix
Sandra saldaña instalarunixSandra saldaña instalarunix
Sandra saldaña instalarunix
sandrasal23
 

Tendances (17)

Transcripcion (jackeline chillogalli
Transcripcion (jackeline chillogalliTranscripcion (jackeline chillogalli
Transcripcion (jackeline chillogalli
 
Mary cervantes
Mary cervantesMary cervantes
Mary cervantes
 
Ronald
RonaldRonald
Ronald
 
Ambar galeas
Ambar galeasAmbar galeas
Ambar galeas
 
Taller plataformas tecnológicas ORACLE MSDOS Y UNIX
Taller plataformas tecnológicas ORACLE MSDOS Y UNIXTaller plataformas tecnológicas ORACLE MSDOS Y UNIX
Taller plataformas tecnológicas ORACLE MSDOS Y UNIX
 
Miranda castillo UNIX
Miranda castillo UNIXMiranda castillo UNIX
Miranda castillo UNIX
 
Cristian medina Instalar unix
Cristian medina Instalar unixCristian medina Instalar unix
Cristian medina Instalar unix
 
Instalar unix Euller Yugsan 108 bb72
Instalar unix Euller Yugsan 108 bb72Instalar unix Euller Yugsan 108 bb72
Instalar unix Euller Yugsan 108 bb72
 
Nicolle
NicolleNicolle
Nicolle
 
Instalar unixElvis Urquizo
Instalar unixElvis UrquizoInstalar unixElvis Urquizo
Instalar unixElvis Urquizo
 
Sandra saldaña instalarunix
Sandra saldaña instalarunixSandra saldaña instalarunix
Sandra saldaña instalarunix
 
Transcripcion yamy
Transcripcion yamyTranscripcion yamy
Transcripcion yamy
 
Jadira palta
Jadira paltaJadira palta
Jadira palta
 
FROM lost to the Docker 2020
FROM lost to the Docker 2020FROM lost to the Docker 2020
FROM lost to the Docker 2020
 
Documentacion Final Proyecto UNIX
Documentacion Final Proyecto UNIXDocumentacion Final Proyecto UNIX
Documentacion Final Proyecto UNIX
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
Configservers
ConfigserversConfigservers
Configservers
 

En vedette

Novedades windows server 2012
Novedades windows server 2012Novedades windows server 2012
Novedades windows server 2012
ErnestoSF
 
Elementos de las tics, comunicación y software
Elementos de las tics, comunicación y softwareElementos de las tics, comunicación y software
Elementos de las tics, comunicación y software
taloxa
 
Elementos de las tecnologias de la información y
Elementos de las tecnologias de la información yElementos de las tecnologias de la información y
Elementos de las tecnologias de la información y
Lydia Pulgar Vargas
 
Elementos y recursos de las tic y software
Elementos y recursos de las tic y softwareElementos y recursos de las tic y software
Elementos y recursos de las tic y software
ayd94
 
DIAPOSITIVAS TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓN
DIAPOSITIVAS TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓNDIAPOSITIVAS TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓN
DIAPOSITIVAS TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓN
cyberabogados
 
Instalación e Introducción básica de Windows Server 2012
Instalación e Introducción básica de Windows Server 2012Instalación e Introducción básica de Windows Server 2012
Instalación e Introducción básica de Windows Server 2012
Moisés Elías Araya
 

En vedette (20)

Entornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppetEntornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppet
 
[Apache Barcamp 2011] Introducción a Maven
[Apache Barcamp 2011] Introducción a Maven[Apache Barcamp 2011] Introducción a Maven
[Apache Barcamp 2011] Introducción a Maven
 
Vagrant
VagrantVagrant
Vagrant
 
Discovering New Apps
Discovering New AppsDiscovering New Apps
Discovering New Apps
 
Erase una vez
Erase  una vezErase  una vez
Erase una vez
 
Creación de entornos de desarrollo con Vagrant
Creación de entornos de desarrollo con VagrantCreación de entornos de desarrollo con Vagrant
Creación de entornos de desarrollo con Vagrant
 
Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producción
 
Entorno de desarrollo rápido con Vagrant
Entorno de desarrollo rápido con VagrantEntorno de desarrollo rápido con Vagrant
Entorno de desarrollo rápido con Vagrant
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de uso
 
Tesis - Presentación
Tesis - PresentaciónTesis - Presentación
Tesis - Presentación
 
Dev ops. Rompiendo Barreras
Dev ops. Rompiendo BarrerasDev ops. Rompiendo Barreras
Dev ops. Rompiendo Barreras
 
Manual apache cassandra y comandos en la shell
Manual apache cassandra y comandos en la shellManual apache cassandra y comandos en la shell
Manual apache cassandra y comandos en la shell
 
Maven (EN ESPANOL)
Maven (EN ESPANOL)Maven (EN ESPANOL)
Maven (EN ESPANOL)
 
Novedades windows server 2012
Novedades windows server 2012Novedades windows server 2012
Novedades windows server 2012
 
Unidad 1. introducción a las tecnologías de información
Unidad 1. introducción a las tecnologías de informaciónUnidad 1. introducción a las tecnologías de información
Unidad 1. introducción a las tecnologías de información
 
Elementos de las tics, comunicación y software
Elementos de las tics, comunicación y softwareElementos de las tics, comunicación y software
Elementos de las tics, comunicación y software
 
Elementos de las tecnologias de la información y
Elementos de las tecnologias de la información yElementos de las tecnologias de la información y
Elementos de las tecnologias de la información y
 
Elementos y recursos de las tic y software
Elementos y recursos de las tic y softwareElementos y recursos de las tic y software
Elementos y recursos de las tic y software
 
DIAPOSITIVAS TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓN
DIAPOSITIVAS TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓNDIAPOSITIVAS TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓN
DIAPOSITIVAS TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓN
 
Instalación e Introducción básica de Windows Server 2012
Instalación e Introducción básica de Windows Server 2012Instalación e Introducción básica de Windows Server 2012
Instalación e Introducción básica de Windows Server 2012
 

Similaire à Gestionando servidores con Puppet

Servidor PXE de Instalaciones GNU/linux
Servidor PXE de Instalaciones GNU/linuxServidor PXE de Instalaciones GNU/linux
Servidor PXE de Instalaciones GNU/linux
fraterneo GNU/Linux
 

Similaire à Gestionando servidores con Puppet (20)

Interchange CMS - e-commerce
Interchange CMS - e-commerceInterchange CMS - e-commerce
Interchange CMS - e-commerce
 
Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4
 
Introduccion a Ansible
Introduccion a AnsibleIntroduccion a Ansible
Introduccion a Ansible
 
Presentación charla puppet madrid devops 2012
Presentación charla puppet madrid devops 2012Presentación charla puppet madrid devops 2012
Presentación charla puppet madrid devops 2012
 
Usando docker
Usando dockerUsando docker
Usando docker
 
DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...
DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...
DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...
 
Presentación Docker
Presentación DockerPresentación Docker
Presentación Docker
 
Seminario de Tecnologia Aplicada
Seminario de Tecnologia AplicadaSeminario de Tecnologia Aplicada
Seminario de Tecnologia Aplicada
 
Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2
 
Despliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informáticaDespliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informática
 
Framework Catalyst
Framework CatalystFramework Catalyst
Framework Catalyst
 
Docker 2014 v2
Docker 2014 v2Docker 2014 v2
Docker 2014 v2
 
Gestión Remota de Equipos con Python
Gestión Remota de Equipos con PythonGestión Remota de Equipos con Python
Gestión Remota de Equipos con Python
 
Creando módulos en Drupal 7
Creando módulos en Drupal 7Creando módulos en Drupal 7
Creando módulos en Drupal 7
 
Buildout: Crear y desplegar entornos reproducibles en Python
Buildout: Crear y desplegar entornos reproducibles en PythonBuildout: Crear y desplegar entornos reproducibles en Python
Buildout: Crear y desplegar entornos reproducibles en Python
 
Honeypotsprácticas2006
Honeypotsprácticas2006Honeypotsprácticas2006
Honeypotsprácticas2006
 
Anatomía de implementación de un LCMS basado en moodle
Anatomía de implementación de un LCMS basado en moodleAnatomía de implementación de un LCMS basado en moodle
Anatomía de implementación de un LCMS basado en moodle
 
Curso introductorio a Raptor.js con Node.js
Curso introductorio a Raptor.js con Node.jsCurso introductorio a Raptor.js con Node.js
Curso introductorio a Raptor.js con Node.js
 
Performance en Drupal 7
Performance en Drupal 7Performance en Drupal 7
Performance en Drupal 7
 
Servidor PXE de Instalaciones GNU/linux
Servidor PXE de Instalaciones GNU/linuxServidor PXE de Instalaciones GNU/linux
Servidor PXE de Instalaciones GNU/linux
 

Plus de Javier Turégano Molina

Plus de Javier Turégano Molina (20)

Sprinkle your Devops platform with product thinking.pdf
Sprinkle your Devops platform with product thinking.pdfSprinkle your Devops platform with product thinking.pdf
Sprinkle your Devops platform with product thinking.pdf
 
Building Slack's internal developer platform as a product.pdf
Building Slack's internal developer platform as a product.pdfBuilding Slack's internal developer platform as a product.pdf
Building Slack's internal developer platform as a product.pdf
 
Scaling Slack during explosive growth
Scaling Slack during explosive growthScaling Slack during explosive growth
Scaling Slack during explosive growth
 
Scaling the culture of ownership at realestate.com.au
Scaling the culture of ownership at realestate.com.auScaling the culture of ownership at realestate.com.au
Scaling the culture of ownership at realestate.com.au
 
Introduction to Devops (Melbourne University)
Introduction to Devops (Melbourne University)Introduction to Devops (Melbourne University)
Introduction to Devops (Melbourne University)
 
Devopsgirls bootcamp3-next
Devopsgirls bootcamp3-nextDevopsgirls bootcamp3-next
Devopsgirls bootcamp3-next
 
FinOps
FinOpsFinOps
FinOps
 
The devops laboratory - 1 year later
The devops laboratory - 1 year laterThe devops laboratory - 1 year later
The devops laboratory - 1 year later
 
Performance beyond IT
Performance beyond ITPerformance beyond IT
Performance beyond IT
 
Devops101
Devops101Devops101
Devops101
 
The Devops Laboratory
The Devops LaboratoryThe Devops Laboratory
The Devops Laboratory
 
Web performance101
Web performance101Web performance101
Web performance101
 
The Ops dojo
The Ops dojoThe Ops dojo
The Ops dojo
 
Configuration management - A "love" story
Configuration management - A "love" storyConfiguration management - A "love" story
Configuration management - A "love" story
 
Velocity and DevopsDays 2013 takeaways
Velocity and DevopsDays 2013 takeawaysVelocity and DevopsDays 2013 takeaways
Velocity and DevopsDays 2013 takeaways
 
Mcollective introduction
Mcollective introductionMcollective introduction
Mcollective introduction
 
Devopsen tic
Devopsen ticDevopsen tic
Devopsen tic
 
Experiencias en la administración de sistemas con Software LIbre en empresas TIC
Experiencias en la administración de sistemas con Software LIbre en empresas TICExperiencias en la administración de sistemas con Software LIbre en empresas TIC
Experiencias en la administración de sistemas con Software LIbre en empresas TIC
 
Saas For Public Administration
Saas For Public AdministrationSaas For Public Administration
Saas For Public Administration
 
Administrando Jboss
Administrando JbossAdministrando Jboss
Administrando Jboss
 

Dernier

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 

Dernier (10)

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

Gestionando servidores con Puppet