Documentos de Académico
Documentos de Profesional
Documentos de Cultura
con Puppet
Independencia de la implementación:
“providers”
Pensamiento en alto nivel:
“package”
“user”
...
Recursos relacionables entre si:
“subscribe” / “notify”
“require” / “before”
Funcionamiento de Puppet
Componentes y características
Usuario (user)
Archivo (file)
Paquete de software
(package)
Servicio (service)
Tarea periódica (cron)
Comandos (exec)
...
Funcionamiento de Puppet
Tipos de recursos (usuario)
Package
ensure (absent, purged, present/installed)
Responsefile
Status (Estado)
Funcionamiento de Puppet
Tipos de recursos (Servicios)
Service
ensure (running/stopped) (Arrancar o parar)
enable (true/false) (Activar o no)
Hasrestart
Hasstatus
Funcionamiento de Puppet
Tipos de recursos (Cron)
Cron
Command
User
Hour
Minute
Month
weekday
Instalacción Puppet
Servidor (puppermaster)
[files]
path /etc/puppet/files
allow 172.23.76.0/23
[puppetd]
server =172.23.76.2
logdir = /var/log/puppet
vardir = /var/lib/puppet
rundir = /var/run
Instalacción Puppet
Cliente(puppet)
define svn_repo($path) {
exec { "/usr/bin/svnadmin create $path/$title":
unless => "/bin/test -d $path",
}
}
svn_repo { puppet: path => "/var/svn" }
<VirtualHost *>
ServerAdmin <%= admin %>
DocumentRoot <%= docroot %>
ServerName <%= domain %>
</VirtualHost>
Selectores
If / then
Case
Funciones
Variables / Arrays
Facts
Ejemplos de Puppet
Deshabilitar login de root en sshd
class norootssh {
package { “openssh-server”: ensure => present }
service { “ssh”:
require => Package[openssh-server],
ensure => running
}
http://www.linux-mag.com/id/4141/
http://reductivelabs.com/trac/puppet/wiki/DocumentationStart
http://people.redhat.com/dlutter/puppet-app.html
http://www.infrastructure.org
Lucas Di Pentima<lucas@di-pentima.com.ar>