Inicio > General > Instalar Puppet en Debian 6

Instalar Puppet en Debian 6

Instalar cliente de Puppet en Debian 6.0.6

El primer paso, es instalar el cliente de pupper en los nodos a controlar, esto lo hacemos con el siguiente comando.

# aptitude install puppet

Para comprobar que esta bien instalado y la versión que tenemos

# puppet --version
2.6.2

Si da un error como el siguiente:

# puppetd --version
Could not retrieve hostname: getaddrinfo: Name or service not known
Could not retrieve hostname: getaddrinfo: Name or service not known
dnsdomainname: Name or service not known
/usr/lib/ruby/1.8/puppet/defaults.rb:190: undefined method `downcase' for nil:NilClass (NoMethodError)
from /usr/lib/ruby/1.8/puppet.rb:100:in `require'
from /usr/lib/ruby/1.8/puppet.rb:100
from /usr/lib/ruby/1.8/puppet/application.rb:278:in `require'
from /usr/lib/ruby/1.8/puppet/application.rb:278:in `initialize'
from /usr/lib/ruby/1.8/puppet/application.rb:222:in `new'
from /usr/lib/ruby/1.8/puppet/application.rb:222:in `[]'
from /usr/sbin/puppetd:4

Es que tenemos algún fallo en la configuración del fichero /etc/hosts, es necesario configurarlo correctamente.

Para que el cliente inicie el servicio al inicio del sistema, tenemos que modificar el siguiente fichero.

# vi /etc/default/puppet

Y modificar el valor del parámetro START por yes e incluir quien es el servidor de Puppet, el fichero quedaría así.

# Defaults for puppet - sourced by /etc/init.d/puppet

# Start puppet on boot?
START=yes

# Startup options
DAEMON_OPTS="--server master.trigo.cat"

Con esto ya tenemos el cliente de Puppet instalando y funcionando.

Instalar servidor de Puppet en Debian 6.0.6
Ahora vamos a instalar el servidor de Puppet en el nodo master.

# aptitude install puppetmaster

Para ver si se ha instalado correctamente, ejecutamos el siguiente comando

# puppetmasterd --version
2.6.2

Una vez tenemos el servidor instalado, necesitamos linkar el nodo al servidor, para eso tenemos que ejecutar el siguiente comando en el cliente

puppet agent --server master.trigo.cat --waitforcert 60 --test

Ahora en el master mostramos todos los nodos que han intentado conectarse a el

# puppet cert -l
"nodo1.trigo.cat" (21:52:D4:BD:E1:F7:F2:B2:0F:78:C6:58:87:DC:B9:5E)
"nodo2.trigo.cat" (AC:5E:85:DF:65:26:BD:43:1C:ED:01:DC:7A:92:04:49)

Una vez vemos los nodos que han intentado conectarse, tenemos que aceptar el certificado para que puedan hacerlo, es necesario aceptar nodo por nodo.

# puppetca --sign nodo1.trigo.cat
notice: Signed certificate request for nodo1
notice: Removing file Puppet::SSL::CertificateRequest nodo1 at '/var/lib/puppet/ssl/ca/requests/nodo1.pem'

Una vez tenemos los nodos configuramos, necesitamos definir el fichero desde el cual se cargaran las configuraciones centralizadamente en los clientes.
Este fichero es el fichero site.pp, dentro de este, se importan también los diferentes manifiestos para ser ejecutados en los clientes.

vi /etc/puppet/manifests/site.pp
# /etc/puppet/manifests/site.pp

class screen {
package { "screen":
ensure => "installed"
}
}

node "nodo1.trigo.cat" {
include screen
}

Para comprobar si el fichero de configuración es correcto o tiene algún error, ejecutamos el siguiente comando

puppet --parseonly /etc/puppet/manifests/site.pp

Una vez echo esto, la siguiente vez que el cliente consulte con el master si tiene que ejecutar alguna tarea, instalará la aplicación screen.

Para forzar la ejecución, podemos hacerlo en interactivo con el comando ejecutado anteriormente, con lo que veremos lo que está realizando puppet.

~# puppet agent --server master.trigo.cat --waitforcert 60 --test
info: Caching catalog for nodo1.trigo.cat
info: Applying configuration version '1354386654'
notice: /Stage[main]/Screen/Package[screen]/ensure: ensure changed 'purged' to 'present'
notice: Finished catalog run in 2.46 seconds

O simplemente reiniciando el servicio

# service puppet restart
Restarting puppet agent.

Con esto tenemos la instalación básica de puppet.

Categorías:General Etiquetas: , , ,
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: