Usando módulos en #Puppet

photoSiguiendo con la linea de trabajo de Puppet que he estado publicando, ahora les traigo como trabajar con módulos. Primero veamos la estructura de archivos de configuración  de Puppet:

sauth.conf
etckeeper-commit-pre
manifests
puppet.conf
templates
etckeeper-commit-post
fileserver.conf
modules
ssl

La configuración que vamos a generar es para un servidor LAMP. En el directorio  “modules” creamos un nuevo directorio que identifique la configuración que vamos a llevar, en este caso seria “lamp”, dentro de este directorio creamos otro directorio llamado, “manifest” allí es donde vamos a meter la config, la cual debe llevar el nombre de “init.pp”, entonces si hacemos un “ls” extendido vemos que esto queda así:

# ls */*/*
lamp/manifests/init.pp

Dentro de “init.pp” declaramos lo siguiente:

class lamp {

#Instalamos apache2
package { ‘apache2’:
  ensure => installed,
}

# El servicio debe estar arriba
service { ‘apache2’:
  ensure => running,
}

# Instalamos el  mysql-server
package { ‘mysql-server’:
  ensure => installed,
}

# El servicio debe estar arriba
service { ‘mysql’:
  ensure => running,
}

# install php5 package
package { ‘php5’:
  ensure => installed,
}

# Ahora creamos un archivo de php con la info
file { ‘/var/www/info.php’:
  ensure => file,
  content => ‘<?php  phpinfo(); ?>’,  
  require => Package[‘apache2’],      
    }
}

Luego creamos un archivo dentro de “/etc/puppet/manifests” que se va a llamar “modules.pp” y dentro del mismo declaramos lo siguiente:

import “lamp”

Y por ultimo dentro del archivo “nodes.pp” especificamos el nodo que va a tomar la configuración que acabamos de crear, en este caso se la asignaremos a un equipo llamado muy creativamente “server1”.

node ‘server1.dominio.com’ {
 include lamp

# resto de las configuraciones

}

Luego vamos al equipo “server1” y le indicamos que refresque su catalogo para que asuma los cambios:

# puppet agent –test
info: Caching catalog for server1.dominio.com
info: Applying configuration version ‘1413388025’
notice: Finished catalog run in 0.14 seconds

Y todo listo. Cada vez que queramos levantar un servidor Lamp, solo agregamos el nodo en Puppet y le cargamos el modulo correspondiente. Nos vemos

 

 

 

 

2 thoughts on “Usando módulos en #Puppet”

Leave a Comment