| | 19 | |
| | 20 | |
| | 21 | |
| | 22 | == Un ejemplo de nodo == |
| | 23 | |
| | 24 | Los nodos y sus caracteristicas, es decir, lo que puppet hace con ellos, se definen en el servidor puppet. |
| | 25 | |
| | 26 | Creamos un archivo de nodo en en el servidor puppet. |
| | 27 | |
| | 28 | {{{ |
| | 29 | #touch /etc/puppet/nodes/ejemplo.pp |
| | 30 | }}} |
| | 31 | Lo editamos con el siguiente contenido: |
| | 32 | {{{ |
| | 33 | ##Definimos el nombre del nodo |
| | 34 | node ejemplo { |
| | 35 | ### |
| | 36 | # Agregamos el modulo constructor del menu para booteo por pxe. |
| | 37 | # screenshot del cliente netboot: https://trac.redcta.org.ar/redcta/attachment/wiki/ServidorRedLocalMultiServiciosCapturasDePantalla/netboot-menu-pxe.png |
| | 38 | # |
| | 39 | # The objective is the facilitate the download of debian-installer |
| | 40 | # and build a menu for the pxe clients. |
| | 41 | # |
| | 42 | # To use this module, you need to have a tftpd server running and |
| | 43 | # configure your dhcp server correctly. |
| | 44 | # |
| | 45 | # source: https://trac.redcta.org.ar/redcta/browser/trunk/puppet/modules/di_netboot_assistant |
| | 46 | include di_netboot_assistant |
| | 47 | ### 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" |
| | 48 | debproxy::activateclient { dist: |
| | 49 | debproxyhost => "debproxy-ubuntu", |
| | 50 | } |
| | 51 | ### Incluimos la clase debproxy::server que se encarga de instalar apt-cacher y verificar la configuracion del paquete. |
| | 52 | # source: https://trac.redcta.org.ar/redcta/browser/trunk/puppet/manifests/classes/debproxy.pp |
| | 53 | include debproxy::server |
| | 54 | ### Usamos el modulo dnsmasq y le pasamos los valores adecuados segun la red en la que estemos trabajando. |
| | 55 | # source: https://trac.redcta.org.ar/redcta/browser/trunk/puppet/modules/puppet-dnsmasq |
| | 56 | dnsmasq::config { 'oficina': |
| | 57 | dhcp_authoritative => 'yes', |
| | 58 | dhcp_range => '10.0.12.150,10.0.12.200,255.255.0.0,2h', |
| | 59 | dhcp_gw => '10.0.12.1', |
| | 60 | dhcp_nameservers => '10.0.12.1', |
| | 61 | dhcp_script => '/usr/local/sbin/dnsmasq-genhostname.sh', |
| | 62 | dhcp_hostsfile => '/etc/dnsmasq.hostsfile', |
| | 63 | |
| | 64 | addn_hosts => '/etc/hosts.dnsmasq', |
| | 65 | domain => 'ejemplo.org.ar', |
| | 66 | dhcp_boot => '/pxelinux.0,ejemplo,10.0.12.2', |
| | 67 | tftp_root => '/', |
| | 68 | log_queries => 'yes', |
| | 69 | log_dhcp => 'yes' |
| | 70 | } |
| | 71 | # Aca estamos usando el modulo network, nuevamente le asigamos los valores a definir en el nodo. |
| | 72 | network::interface { "eth0" : |
| | 73 | address => "10.0.12.2", |
| | 74 | broadcast => "10.0.12.255", |
| | 75 | netmask => "255.255.0.0", |
| | 76 | parameters => "gateway 10.0.12.1\n dns-search ejemplo.org.ar\n dns-nameservers 10.0.12.1", |
| | 77 | } |
| | 78 | # Incluimos las modificacines de los archivos para usar el proxy de paquetes. |
| | 79 | include ubuntu_sources_list |
| | 80 | # Le decimos a puppet que añada a archivo /etc/apt/sources.list los repositorios para poder instalar virtualbox con apt-get..desde puppet. |
| | 81 | include ubuntu_sources_list::virtualbox |
| | 82 | |
| | 83 | } |
| | 84 | |
| | 85 | }}} |
| | 86 | |
| | 87 | |