Version 5 (modified by 15 years ago) ( diff ) | ,
---|
Cosas a tener en cuenta en el momento de la implementacion
Requerimientos minimos de hardware para montar un servidor.
- Inicialmente para montar un servidor usamos un array de discos en raid 1, para lo que necesitamos dos discos de igual tamaño preferentemente.
- Las caracteristicas del CPU y la RAM serán consideradas en función de la carga de trabajo, los equipos actuales de media gama cumplen con los requisitos mínimos: CPU +2000 Mhz RAM +2Gb
Nombres de hosts que deben resolver despues de la instalacion.
- autoserver (para el instalador, por ahora usamos autoserver.redcta.org.ar)
- puppet (para los clientes puppet)
- debproxy-ubuntu (para el proxy de paquetes en local)
- ldap (para los clientes ldap)
- Debemos asegurarnos de que el nombre del servidor (hostname) es el mismo que el quedara finalmente. Tenemos una receta en puppet para tal fin. https://trac.redcta.org.ar/redcta/browser/trunk/puppet/modules/puppet-network Cómo se asigna este valor varia, segun el entorno*.
Un ejemplo de nodo
Los nodos y sus caracteristicas, es decir, lo que puppet hace con ellos, se definen en el servidor puppet.
Creamos un archivo de nodo en en el servidor puppet.
#touch /etc/puppet/nodes/ejemplo.pp
Lo editamos con el siguiente contenido:
##Definimos el nombre del nodo node ejemplo { ### # Agregamos el modulo constructor del menu para booteo por pxe. # screenshot del cliente netboot: https://trac.redcta.org.ar/redcta/attachment/wiki/ServidorRedLocalMultiServiciosCapturasDePantalla/netboot-menu-pxe.png # # The objective is the facilitate the download of debian-installer # and build a menu for the pxe clients. # # To use this module, you need to have a tftpd server running and # configure your dhcp server correctly. # # source: https://trac.redcta.org.ar/redcta/browser/trunk/puppet/modules/di_netboot_assistant include di_netboot_assistant ### Aca usamos la clase debproxy::activateclient, definimos que el nodo sera cliente del proxy de paquetes, le asignamos a la variable "debproxyhost" el valor "debproxy-ubuntu" debproxy::activateclient { dist: debproxyhost => "debproxy-ubuntu", } ### Incluimos la clase debproxy::server que se encarga de instalar apt-cacher y verificar la configuracion del paquete. # source: https://trac.redcta.org.ar/redcta/browser/trunk/puppet/manifests/classes/debproxy.pp include debproxy::server ### Usamos el modulo dnsmasq y le pasamos los valores adecuados segun la red en la que estemos trabajando. # source: https://trac.redcta.org.ar/redcta/browser/trunk/puppet/modules/puppet-dnsmasq dnsmasq::config { 'oficina': dhcp_authoritative => 'yes', dhcp_range => '10.0.12.150,10.0.12.200,255.255.0.0,2h', dhcp_gw => '10.0.12.1', dhcp_nameservers => '10.0.12.1', dhcp_script => '/usr/local/sbin/dnsmasq-genhostname.sh', dhcp_hostsfile => '/etc/dnsmasq.hostsfile', addn_hosts => '/etc/hosts.dnsmasq', domain => 'ejemplo.org.ar', dhcp_boot => '/pxelinux.0,ejemplo,10.0.12.2', tftp_root => '/', log_queries => 'yes', log_dhcp => 'yes' } # Aca estamos usando el modulo network, nuevamente le asigamos los valores a definir en el nodo. network::interface { "eth0" : address => "10.0.12.2", broadcast => "10.0.12.255", netmask => "255.255.0.0", parameters => "gateway 10.0.12.1\n dns-search ejemplo.org.ar\n dns-nameservers 10.0.12.1", } # Incluimos las modificacines de los archivos para usar el proxy de paquetes. include ubuntu_sources_list # Le decimos a puppet que añada a archivo /etc/apt/sources.list los repositorios para poder instalar virtualbox con apt-get..desde puppet. include ubuntu_sources_list::virtualbox }
Algunos comandos que utilizamos para las pruebas
Cuando tocamos el archivo de nodo, modificando su contenido, podemos probar si el cliente toma los cambios. Para eso ejecutamos en el cliente:
puppet --test
Lo que nos permiter ver el debug y verificar si los cambios se efectuan o ver los errores para corregirlos.
Para reiniciar el servicio:
/etc/init.d/puppetmaster/ restart
o para recargar la configuracion hacemos:
/etc/init.d/puppetmaster/ reload
TODO:
- ltsp en server y cliente
- ldap, nfs
- cups
- otros
- Como asignar dinámicamente las variables para poder utilizar correctamente los módulos.
Note:
See TracWiki
for help on using the wiki.