Gesti - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Gesti

Description:

Carlos Armas Roundtrip Networks Corp. Instalar y proveer sistemas r pido! Eliminar tareas repetitivas La configuraci n de los sistemas tiende a la divergencia La ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 16
Provided by: CarlosA181
Learn more at: https://nsrc.org
Category:
Tags: fedora | gesti | linux

less

Transcript and Presenter's Notes

Title: Gesti


1
Gestión de Configuraciones con Puppet
  • Carlos Armas
  • Roundtrip Networks Corp.

2
Por qué?
Crea un usuario para mi en cada uno de nuestros
500 servidores. Para mi presentación dentro de
10 minutos. Rápido por favor!
  • Instalar y proveer sistemas rápido!
  • Eliminar tareas repetitivas
  • La configuración de los sistemas tiende a la
    divergencia
  • La complejidad de administracion aumenta
    exponencialemente a medida que crece el número de
    sistemas a administrar

3
Puppet?
  • Lenguaje de configuración desarrollado en Ruby
  • Surge como alternativa de cfengine, adicionando
    nuevas funciones
  • Facil de extender, con comunidad de
    contribuyentes amplia
  • Un servidor central (puppetmaster o
    titiritero) controla la configuración del resto
    de los servidores titeres (puppets)
  • En los servidores titeres, el utilitario facter
    provee información detallada sobre la
    configuración y recursos locales

4
Componentes
config cache client facts
File bucket
puppetmasterd
puppetd facter
5
Distribución común
Como instalar? En Fedora y EPEL, como parte de
la distribución yum install puppet-server
lt puppetmaster yum install puppet
lt cliente Paquetes disponibles para
UNIX/Linux Ubuntu, Debian, SuSe, Mandriva,
FreeBSD, otros... (Visite http//reductivelabs.c
om/trac/puppet/wiki/DownloadingPuppet)
Configuración flexible /etc/puppet
ssl/ (SSL certificates)
manifests/site.pp (config central)
definitions/ (patrones)
classes/ (clases)
nodes/ users/
(etc.)
6
Elementos de configuración
  • Tipos
  • Definiciones
  • Modelos
  • Clases
  • Nodos...

7
Tipos
  • elemento que Puppet sabe como configurar
  • Fichero (contenido, permisos, pertenencia)
  • Paquete (asegurar que esté instalado o no)
  • Servicio (habilitado, desahbilitado, corriendo, o
    detenido)
  • Biblioteca de tipos distribuidos con el paquete
  • cron, exec, file, filebucket, group, host, mount,
    notify, package, service, user, zone, sshkey.....

8
Ejemplo /etc/sudoers file
  • file /etc/sudoers
  • ensure gt file,
  • owner gt root,
  • group gt root,
  • mode gt 600,
  • source gt puppet//server/files/sudoers

9
Clases
  • Colección de objetos (tipos)
  • class unix_users
  • user 'pandersen'
  • shell gt '/bin/bash',
  • uid gt '2010',
  • gid gt "users",
  • home gt '/home/pandersen',
  • managehome gt true,
  • ensure gt 'present'
  • user 'tolick'
  • shell gt '/bin/bash',
  • uid gt '2013',
  • gid gt "users",
  • home gt '/home/tolick',
  • managehome gt true,
  • ensure gt 'present'

10
Nodos
  • Un bloque de configuración de un servidor cliente
  • Puede contener clases, tipos
  • Si existe un nodo default, se aplica a todos
    los clientes conocidos que no tienen una
    definición específica
  • node otter.roundtripnetworks.com
  • include sudo_clase
  • include unix_users
  • include apache_clase
  • node default
  • include sudo_clase
  • include unix_users

11
OK, configuremos con definiciones...
users/carmas.pp _at_account "carmas"
ensure gt present, uid gt 3011,
gid gt "admins", groups gt "root",
"wheel" , comment gt "Carlos Armas",
home gt "/home/carmas", shell gt
"/bin/bash", require gt Group"admins"
defintions/account.pp define account(
uid, gid, groups,
comment "User name", home
"/home/name", shell "/bin/bash",
ensure present )
user name uid gt uid,
gid gt gid, password gt '',
groups gt groups,
comment gt comment, home gt
home, shell gt shell,
managehome gt true, ensure gt
ensure,
classes/unix_users.pp class unix_usersadmins
realize(
Account"carmas" )
classes/baseclass.pp class baseclass
include unix_usersadmins group
"admins" gid gt 3000, ensure
gt present
Un usuario/admin carmas en cada
servidor. (pueden ser 1000 servidores!)
nodes/mailserver.pp node mailserver
include baseclass
nodes/default.pp node default
include baseclass
nodes/mailserver.pp node mailserver
include baseclass
12
Con definiciones, adicionar usuarios es fácil...
users/carmas.pp _at_account "carmas"
ensure gt present, uid gt 3011,
gid gt "admins", groups gt "root",
"wheel" , comment gt "Carlos Armas",
home gt "/home/carmas", shell gt
"/bin/bash", require gt Group"admins"
users/john.pp _at_account john" ensure
gt present, uid gt 3012, gid gt
"admins", groups gt "root", "wheel" ,
comment gt Johnny Root", home gt
"/home/john", shell gt "/bin/bash",
require gt Group"admins"
classes/unix_users.pp class unix_usersadmins
realize(
Account"carmas" Accountjohn"
)
classes/baseclass.pp class baseclass
include unix_usersadmins group
"admins" gid gt 3000, ensure
gt present
Ahora, adicionamos john en cada servidor
(pueden ser 1000 servidores!) con solo un cambio
en 2 files
nodes/mailserver.pp node mailserver
include baseclass
nodes/default.pp node default
include baseclass
nodes/mailserver.pp node mailserver
include baseclass
13
Perspectiva...
Definiciones mySQL
Definiciones Apache
Definiciones comunes
Clase MySQL
Clase Apache
Clases comunes
nodo6
nodo5
nodo1
nodo2
nodo7
nodo3
nodo4
nodo8
14
Contribuciones y ayuda
  • La documentación es bastante informal
  • Comunidad activa, muchos templates y
    configuraciones disponibles
  • http//reductivelabs.com/trac/puppet/wiki/ManagedB
    yPuppet
  • http//reductivelabs.com/trac/puppet/wiki/Recipes

15
Referencias
  • Puppet software http//reductivelabs.com/trac/pup
    pet
  • Book Pulling Strings with Puppet James
    Turnbull
  • Some presentations http//reductivelabs.com/trac/
    puppet/wiki/PuppetPresentations
Write a Comment
User Comments (0)
About PowerShow.com