Desarrollo local títere con Geppetto y VMware
En este artículo se describe el entorno de desarrollo local y de flujo de trabajo que utilizo para desarrollar y probar las configuraciones multi-sistema que son administrados por Puppet. VMWare Estación de trabajo se utiliza para ejecutar Puppet Master local y prueba de nodo con '/ etc / puppet' en el maestro asignado a la estación de trabajo Geppetto se encuentra en mi equipo local.
Objetivos
El desarrollo eficaz y eficiente de los títeres-configurados sistemas requiere la integración frecuentes, y pruebas: el código de marionetas que escribe debe aparecer inmediatamente en un maestro de marionetas y aplicarse a los distintos nodos que comprenden un sistema de prueba.
¿Cómo funciona?
Tengo Windows como mi estación de trabajo local. Los manifiestos de la marioneta se almacenan en un repositorio de código, como Subversion o Git. Geppetto es el IDE. VMware Workstation ofrece servidores virtuales para un Puppet Master local y uno o más nodos de pruebas que simulan una configuración de sistema multi-ordenador.
Usando Geppetto, el código de Títeres está desprotegido en un espacio de trabajo local en mi estación de trabajo Windows. VMware Workstation hace que este "Geppetto espacio de trabajo" disponible para el servidor virtual de Puppet Master. Este montaje se hace "solo lectura", como una preferencia personal. Me SoftLink el directorio '/ etc / puppet' en el amo de la marioneta a este sistema de archivos montado.
Cualquier cambio de código que ahora hago usando el editor de Geppetto aparecerán inmediatamente en el Puppet Master locales. Tenga en cuenta que todavía no lo he comprobado en cualquier código. Todo este trabajo de desarrollo es local en mi estación de trabajo.
Regresión y pruebas de funcionamiento se realiza mediante la activación de los agentes de marionetas en los distintos nodos de prueba. Con frecuencia me restauro un nodo de prueba a una instantánea de base con el fin de probar la Títeres manifiestan a fondo.
En este enfoque, el ciclo de Código-Test es rápido y da más seguridad de que el código que finalmente el proceso de registro tendrá éxito tanto en un escenario de metal al descubierto, así como parches incrementales a un entorno ya de por correr.
Después de registrarnos, el código se implementa en un entorno de control de calidad y, finalmente, a los servidores de producción.
Cómo construir lo
Carpeta para compartir VMware es el único paso difícil en el logro de este entorno de desarrollo local. Aquí está cómo hacerlo.
Crear un servidor virtual como el Puppet Master Local
Puedo crear una máquina virtual basada en Debian que se utiliza como maestro de marionetas. Generar el catálogo Puppet requiere mucha memoria, por lo que destinará más de suficiente memoria, 2GB.
Configure Workspace Local de Geppetto
El repositorio de código Puppet está desprotegido por Geppetto a un área de trabajo local en la estación de trabajo. Este directorio se utilizará en la etapa siguiente, la creación de la compartición de carpetas.
Habilite el uso compartido de carpetas en VMworkstation
Habilite el uso compartido de carpetas en la pestaña Opciones de la máquina virtual titiritero y seleccione la misma carpeta que utiliza Geppetto cuando crea su código local de depósito de espacio de trabajo.
Instalar VMware Tools en Puppet Master Virtual Machine
Al iniciar la máquina virtual titiritero, verá el mensaje recordatorio a continuación:
Monte la unidad de CD-ROM utilizando 'mount / dev / cdrom /' de comandos desde el invitado, extraer el archivo VMwareTools y vuelva a ejecutar el comando '. / vmware-install.pl'.
Si ve el siguiente mensaje de error, entonces usted necesita tomar medidas adicionales para instalar hacer, gcc y las cabeceras del kernel para los huéspedes.
En Debian estos paquetes se instalan mediante el comando:
Si utiliza VMware Workstation 7, puede que tenga que especificar la ruta completa al paquete gcc-4.3, como se muestra a continuación:
Igualmente, puede que tenga que especificar manualmente la ubicación de las cabeceras del kernel. En mi máquina virtual, se encuentran en '/ usr/src/linux-headers-2.6.32-5-686/include'. Esto será diferente para su equipo:
Las herramientas de VMware ahora deberían recopilar y mostrar los mensajes de confirmación se muestran a continuación:
Vinculación de / etc / puppet para sistema de archivos montado
Para permitir que el titiritero de usar los módulos almacenados en la carpeta compartida, el enfoque más simple es reemplazar el directorio '/ etc / puppet' con un enlace lógico al sistema de archivos montado, como se muestra en el siguiente comando:
Ahora podemos confirmar que el directorio '/ etc / puppet' en el maestro de la máquina virtual de Títeres es una de sólo lectura de montaje del espacio de trabajo de Geppetto en la estación de trabajo local, como se muestra por la prueba siguiente:
Sé el primero en comentar. Deja un comentario