Administración de IBM SmartCloud Enterprise, Parte 1: Cree paquetes de software para VMs con ICCT

Un paquete de software es un colección de archivos de instalación de software, archivos de configuración y metadatos que se pueden desplegar en una instancia de máquina virtual.En este artículo de dos partes los autores demuestran cómo usar la IBM® Image Construction and Composition Tool (ICCT) para crear un paquete de software y registrarlo y mantenerlo en IBM SmartCloud Enterprise. La ICCT realiza tareas de mantenimiento de registros y proporciona un proceso paso-a-paso y una IU gráfica para crear paquetes de software, personalizar instancias de máquina virtual y capturar imágenes, de forma conveniente. En este artículo los autores muestran cómo crear paquetes de software para VMs, crear y configurar la ICCT en SmartCloud, y recuperar y actualizar paquetes de software.La Parte 2 describe los pasos para capturar una nueva imagen privada con el paquete de software añadido en la Parte 1.

Alexei Karve, Ingeniero de software Sénior, IBM

Alexei Karve es ingeniero de software sénior en el IBM Thomas J Watson Research Center. Es miembro del equipo de diseño SmartCloud Enterprise y se enfoca en paquetes de software y VPN/VLAN para los sistemas de soporte de negocios en la nube. Su experiencia incluye amplios conocimientos en servicios de soporte operacional, virtualización y Tivoli Provisioning Manager. Cuenta con una historia extensa y variada en el área de administración de sistemas, desde que se unió a IBM en 1993.



Alex Amies, Ingeniero de software Sénior IBM, IBM

Alex AmiesAlex Amies es ingeniero sénior de software en el Laboratorio de desarrollo de China de IBM GTS Development Lab.Actualmente es un arquitecto que participa en el desarrollo de IBM SmartCloud Enterprise.Anteriormente se desempeñó como arquitecto y desarrollador de seguridad y productos en nube junto a otros grupos de IBM.



Scott Peddle, Desarrollador Consultivo de Software, IBM Japan

Scott PeddleScott Peddle es desarrollador consultor de software en IBM SmartCloud Enterprise.Scott lidera proyectos enfocados a la integración de Rational Asset Manager en un entorno de nube.La experiencia de Scott incluye la conducción de un proyecto de integración para herramientas de WebSphere BPM, como WebSphere Business Modeler y WebSphere Integration Developer, mediante Rational Asset Manager.Scott también fue ingeniero de release de productos Rational de diseño y creación, como Rational Software Architect y Rational Application Developer.



Hidayatullah Shaikh, Miembro del equipo técnico Sénior, IBM

Shaikh es IBM Master Inventor y técnico principal de Business Support Systems para ofertas de IBM SmartCloud Enterprise y Enterprise+, basado en EE.UU.



Qiangguo Tong (tongqg@cn.ibm.com), Advisory Software Engineer, IBM, Ingeniero Consultivo de Software, IBM

Qiang Guo Tong se unió a IBM en 2004. Es uno de los líderes del equipo de desarrollo IBM SmartCloud Enterprise, responsables por la creación de nuevos dispositivos. También es el arquitecto de la solución de habilitación de globalización de SmartCloud.Su experiencia técnica abarca las tecnologías de globalización y también de JavaEE.Tiene más de ocho años de experiencia en desarrollo de aplicaciones basadas en arquitectura JavaEE y se concentra en tecnologías Web 2.0 como Dojo y JSON-RPC.



Pan Xia Zou (zoupx@cn.ibm.com), Staff Software Engineer, IBM, Ingeniero del equipo de software, IBM

Pan Xia Zou es parte del equipo de ingenieros de software de IBM y trabaja como arquitecto de desarrollo e implementación de automatización para IBM SmartCloud Enterprise.



29-10-2012

En este artículo proporciona una visión general de la IBM Image Construction and Composition Tool (ICCT) y demuestra cómo crear y mantener paquetes de software en IBM SmartCloud Enterprise. Usando un ejemplo, describe los pasos para crear un paquete de software para Google Chrome, incluyendo la definición de metadatos para el paquete de software Chrome, añadir scripts de instalación y su registro en SmartCloud Enterprise. Usted debe tener una familiaridad básica con los componentes de la nube. Para intentar los pasos que hay en este artículo será necesaria una cuenta de usuario en IBM SmartCloud Enterprise.

Image Construction and Composition Tool

La ICCT en SmartCloud es una aplicación web que simplifica y automatiza la creación de imágenes de máquina virtual. La ICCT se suministra como una imagen que puede ser aprovisionada en SmartCloud.

La ICCT en SmartCloud categoriza por rol las tareas ejecutadas en el ciclo de vida de la imagen virtual:

  • Rol de especialista en sistema operativo: Crea imágenes base para sistema operativo que son utilizadas por el rol constructor de imágenes como punto de partida. Las imágenes base representan la configuración de OS estándar de una empresa, acuerdos de licencia y políticas de seguridad.
  • Rol de especialista en software: Crea paquetes de software, activos reutilizables que contienen productos o componentes de software.
  • Rol de constructor de imágenes: Ensambla imágenes base y uno o más paquetes de software para crear plantillas de imágenes virtuales.
  • Rol de implementador de imágenes: Especifica parámetros específicos según instancia y suministra una instancia en SmartCloud.

La ICCT soporta la creación de paquetes de software, las fases de creación e implementación del ciclo de vida de imagen virtual.

Ahora exploremos la creación de paquetes de software, la creación de imágenes virtuales y la implementación de imágenes virtuales.

Creación de paquetes de software

El especialista de software tiene una gran flexibilidad para definir paquetes y para seleccionar la granularidad de un paquete de software. Los paquetes encapsulan las tareas de instalación y configuración de uno o más productos en un solo contenedor. La ICCT ayuda al usuario a configurar las dependencias, prerrequisitos, reglas de firewall y a recopilar y agrupar scripts y binarios en un mismo paquete de software.

El especialista de software debe decidir dónde empaquetar los medios de instalación. Todos los archivos asociado s a las operaciones del paquete se cargan y almacenan en un activo de paquete de software que se puede componer, en el Rational® Asset Manager (RAM). LA estructura de directorio del activo de paquete garantiza que todos los archivos asociados con una operación se almacenan en el mismo subdirectorio. Esta estructura previene conflictos cuando los archivos asociados a diferentes operaciones tienen el mismo nombre.

Empaquetar los medios de instalación del producto en el paquete de software a menudo significa la transferencia de paquetes de gran tamaño durante la sincronización. Los medios de instalación de producto pueden ubicarse en un servidor web externo y recuperarse usando wget o pueden montarse con NFS.

Use las pestañas Install y Configuration en la ICCT para manejar la instalación y configuración de paquetes de los productos:

  • Pestaña Install: El especialista de software puede definir scripts que se ejecuten en el momento del desarrollo de la imagen virtual. Esto puede incluir scripts y binarios tradicionales de instalación de productos.
  • Pestaña Configuration: El especialista de software puede definir scripts de configuración que se copian en la imagen virtual en el momento de su desarrollo, pero no ejecutarlos sino hasta la implementación de la imagen virtual. Estos scripts de configuración pueden incluir scripts de configuración tradicionales o scripts para reconfigurar una configuración predeterminada que ya haya sido aplicada durante la operación de instalación.
  • Pestaña Reset: Contiene un script para limpiar registros o archivos temporales creados durante la sincronización. Este script es ejecutado por la ICCT durante el proceso de captura.
  • Pestaña Firewall: Contiene varios paquetes de software que proporcionan servicios a clientes remotos; por ejemplo, el IBM HTTP Server proporciona un servidor web. Para acceder exitosamente a tales servicios, la instalación y configuración de producto puede necesitar la activación del acceso a redes. El especialista de software debe especificar el conjunto de puertos de servicio de entrada que se necesita abrir y permitir el acceso a los servicios. Por ejemplo, un paquete de software para el IBM HTTP Server puede requerir la apertura del puerto de administración (8008) y del puerto de servicio (80, 443).

Una tarea clave que debe efectuar un especialista de software es escribir los scripts de instalación, configuración y restablecimiento que se ejecutan durante la creación e implementación de una imagen virtual. La ICCT depende de los scripts para:

  1. Realizar la instalación y configuración del software y los componentes de software del paquete.
  2. Permitir que el paquete consuma parámetros de implementación para personalizar su software durante la implementación.
  3. Limpiar cualquier estado que se cree durante la instalación y configuración del paquete, antes de capturar una imagen virtual en la cual el paquete haya sido instalado.

La ICCT depende de la retroalimentación de los scripts para determinar si una operación se ejecutó exitosamente. Los especialistas de software deben tener presente que la ICCT trata un código de salida 0 como exitoso y cualquier otro código de salida como una falla.

Creación de imagen virtual

La fase de creación del ciclo de vida de la imagen virtual ocurre cuando se compone una imagen virtual. Esto incluye los siguientes pasos:

  • Composición: Durante este paso de la fase de creación, una fórmula llamada image design es elaborada al tiempo que se crea la imagen virtual con un nuevo nombre y versión. Se selecciona una imagen base y uno o más paquetes para añadirlos a la fórmula para personalizarla.
  • Sincronización: El diseño de imagen es transformado en una instancia temporal de máquina virtual. Se crea la máquina virtual y se instalan los paquetes de software. Cada script de instalación del paquete de software es ejecutado para instalar, de forma silenciosa y en la máquina virtual temporal, el software empaquetado. Los script de configuración y restablecimiento son copiados en la máquina virtual para ser ejecutados más adelante en el proceso.
  • Captura: Este es el proceso en que la imagen con los paquetes de software preinstalados en la instancia temporal es capturada como una imagen privada. La ICCT ejecuta el script de restablecimiento para cada paquete de la imagen virtual, restablece el sistema operativo y permite que SmartCloud complete la captura. Finalmente, después de que SmartCloud ha completado la captura, la ICCT actualiza el archivo de topología semántica en RAM.

Implementación de imagen virtual

La fase de implementación del ciclo de vida de imagen virtual es cuando un implementador de imagen suministra una instancia de máquina virtual desde una imagen privada creada durante la fase de creación. Esto incluye los siguientes pasos:

  • Configuración: El implementador de imagen especifica parámetros específicos de instancia para la imagen virtual que se está implementando. También se recopilan los parámetros de implementación de imagen asociados con el software empaquetado, como ID de usuario, contraseña, o puerto (que pueden configurarse bajo una dinámica 'por instancia').
  • Suministro: SmartCloud suministra la instancia y la máquina virtual en modo activo. Durante el primer arranque del sistema operativo el software empaquetado inicia la fase de activación.
  • Activación: El Activation Engine recibe los valores de implementación y llama los scripts de configuración apropiados. El software empaquetado y sus componentes usan los valores que suministró el implementador de imagen para auto reconfiguración. El Activation Engine es un componente de la ICCT que se instala en una imagen base durante el proceso de extensión de la imagen base. La ICCT extiende cada imagen individual para contener un paquete de habilitación. Si aún no está presente, la ICCT añade un paquete de habilitación cuando se compone el diseño de imagen virtual, al principio.

La Figura 1 muestra la visión general del ciclo de vida de la imagen virtual con las tareas efectuadas por cada uno de los roles.

Figura 1. Ciclo de vida de la imagen virtual soportado por la ICCT
Virtual image life cycle supported by ICCT

Ahora observemos la creación y configuración de la ICCT en SmartCloud.


Creación y configuración de la ICCT en SmartCloud

Usando un ejemplo simple, la instalación de Google Chrome, iremos paso a paso por las fases descritas arriba.

  1. Inicie sesión en SmartCloud y cree una instancia ICCT seleccionando la imagen IBM Image Construction and Composition Tool . Después de que sea suministrada, conéctese a https://<ICCT IP Address>/ e inicie sesión con la ID de usuario y contraseña suministradas durante la implementación de la instancia ICCT.

    Nota: Si usted ya tiene una instancia de máquina virtual ICCT pero el URL ICCT no responde, es posible que deba iniciar sesión en su instancia de máquina virtual como idcuser y ejecutar lo siguiente para reiniciar su aplicación ICCT:

    sudo /opt/IBM/icon/start.sh

    La Figura 2 muestra el primer panel del nuevo Cloud Provider Wizard.

    Figura 2. Primer panel del nuevo Cloud Provider Wizard
    First panel in the new Cloud Provider Wizard
  2. Haga clic en Next, ingrese el nombre de usuario y contraseña que usted utiliza para iniciar sesión en SmartCloud.
    Figura 3. Panel para ingresar credenciales de nube
    Panel for entering cloud credentials
  3. Haga clic en Next. Ingrese el nombre y la descripción del centro de datos que usted utiliza para imágenes privadas. Después será posible crear proveedores de nube adicionales para diferentes centros de datos y claves. Seleccione IBM SmartCloud Enterprise como el tipo de proveedor de nube. Este ejemplo utiliza el centro de datos Ehningen.
    Figura 4. Panel para información de proveedor de nube
    Panel for cloud provider information
  4. Haga clic en Next. Esto obtiene las claves públicas y los centros de datos de SmartCloud usando las credenciales suministradas anteriormente. Seleccione el nombre de clave pública, navegue hacia la clave privada local a cargar y seleccione la ubicación del centro de datos.
    Figura 5. Panel para información de clave SSH
    Panel for SSH key information
  5. Haga clic en Next y luego verifique la información. La ICCT cifra y guarda las credenciales de usuarios y la clave privada en la instancia ICCT bajo el Cloud Provider Name. El proveedor de nube se utiliza para recuperar de SmartCloud la meta-información de imagen y paquete de software. La clave privada es usada para instalar paquetes de software en instancias temporales a nombre de los usuarios antes de la captura de imagen.
    Figura 6. Panel para resumen de credenciales
    Panel for credentials summary
  6. Haga clic en Done. Aparece la página de bienvenida de la ICCT.
    Figura 7. Página de bienvenida
    Welcome page

Cree paquetes de software con la ICCT en SmartCloud

Para crear el paquete de software:

  1. Haga clic en Build and Manage Software Bundles. El panel Bundles aparece a la izquierda. Los paquetes de habilitación locales predeterminados están precompletados.
    Figura 8. Primer panel de la administración de paquetes de software
    First panel for software bundle management
  2. Haga clic en el ícono + de la parte superior para comenzar a crear un paquete de software. Aparece un nuevo recuadro de diálogo. Ingrese un nombre, ID universal, versión y una descripción del paquete de software. Seleccione el proveedor de nube que creó anteriormente como Storage Location y en Primary Enterprise Community mantenga la predeterminada.
    Figura 9. Panel del nuevo paquete de software
    Panel for new software bundle
  3. Haga clic en el botón Create .El paquete añadido a la lista de paquetes se muestra en el panel izquierdo con un ícono de un lápiz. El panel derecho muestra la información que usted ingresó con una lista de productos vacía en la parte inferior.
    Figura 10. Panel de información básica de paquetes de software
    Panel for software bundles basic information
  4. Haga clic en el + contiguo a Products en la tabla de paquetes y añada el navegador Google Chrome. Usted deberá hacer doble clic en el recuadro de edición que hay debajo de Product Name, Version y Vendor, para editar la información.
    Figura 11. Panel de información básica de paquetes de software
    Panel for software bundles basic information
  5. Haga clic en la pestaña Requirements , agregue Linux® como sistema operativo soportado. En general, es necesario especificar los siguientes atributos:
    • Type: Tipo de sistema operativo, como Linux, Windows®
    • Distribution: Distribución específica del OS, como RHEL, SLES
    • Architecture: Describe la arquitectura de kernel soportada
    • Version: Describe la arquitectura de OS. Es posible utilizar diversos comodines
      • 5.x — La x representa un marcador para un dígito específico
      • 10.1+ — El + representa versión 10 o cualquier otra superior

    Seleccione únicamente Type=Linux y deje el resto de atributos en blanco.

    Figura 12. Panel de información sobre requisitos de paquete de software
    Panel for software bundles requirements information
  6. Como este paquete no tiene ninguna dependencia, los campos Required Software y Required Bundles están en blanco.

    El siguiente script de instalación configura el repositorio para descargar Chrome 64-bit y lo instala. Guárdelo localmente como installgooglechrome.sh:

    sudo echo "[google-chrome]" > /tmp/google.repo
    sudo echo "name=google-chrome - 64-bit" >> /tmp/google.repo
    sudo echo "baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64"
     >> /tmp/google.repo
    sudo echo "enabled=1" >> /tmp/google.repo
    sudo echo "gpgcheck=1" >> /tmp/google.repo
    sudo echo "gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub"
     >> /tmp/google.repo
    sudo mv /tmp/google.repo /etc/yum.repos.d/google.repo
    sudo yum install -y google-chrome-unstable
  7. Haga clic en la pestaña Install . La sección Installation especifica lo que se debe ejecutar durante una instalación de una sola vez del software.
  8. Haga clic en el ícono + y añada el installgooglechrome.sh, márquelo en la casilla de selección como ejecutable y selecciónelo como el comando de ejecución. Este se ejecuta como raíz. Este script no toma ningún argumento, por lo tanto, Arguments se deja en blanco.
    Figura 13. Panel de información de instalación de paquetes de software
    Panel for software bundles install information
  9. A continuación está la sección Configuration. Google Chrome no contiene ningún script que necesite ejecutarse durante la implementación de la instancia de máquina virtual, así que deje esto en blanco. Cuando se instancia una imagen con argumentos que deben ser configurados bajo una dinámica 'por instancia', se utiliza esta sección.
  10. La sección Firewall es para puertos que necesitan abrirse. Restablezca la sección para limpiar los registros de la instalación de una sola vez. Google Chrome no utiliza las pestañas Configuration ni Firewall.
  11. Actualice el script de instalación para permitir tanto 32- como 64-bit:
    uname -a | grep x86_64
    if [ $? -eq 0 ]; then
    # Use 64 bit repository
    else
    # Use 32 bit repository
    Fi
  12. Haga clic en los botones Save y luego Publish .
    Figura 14. El estado cambia a Published
    Status changes to Published

Mantenga paquetes de software en SmartCloud

Dos tareas principales para mantener sus paquetes son la recuperación y la actualización.

Recuperación de paquetes de software

Existen diversos métodos para recuperar información de paquetes de software. Para usar la REST API, intente la siguiente solicitud para recuperar paquetes de software:

Figura 15. Solicitud REST API para recuperar SwBundles
REST API request to retrieve SwBundles

O este código:

curl -k -H 'Accept: application/json' -u <userid>:<password>
 https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/offerings/swbundle

La siguiente es la respuesta recibida para el GoogleChrome SwBundle que se acabó de crear.

Figura 16. Respuesta de recuperación de SwBundles
Response of retrieving SwBundles

Otro método es ir al SmartCloud Portal, haga clic en Control Panel > View Asset Catalog > My Dashboard. Podrá ver el activo GoogleChrome en RAM.

Figura 17. Activo GoogleChrome en RAM
GoogleChrome asset in RAM

La Figura 18 muestra detalles generales del activo GoogleChrome.

Figura 18. Detalles generales del activo GoogleChrome en RAM
General details of GoogleChrome asset in RAM

Note la ID única RAM: 07356E0D-3868-1709-0F95-AD9FF0355FF4 y la Version: 1.0.0. Estas se utilizan en la Parte 2 como un ejemplo para mostrarle cómo capturar una nueva imagen.

Figura 19. Contenido del activo GoogleChrome en RAM
Content of GoogleChrome asset in RAM

Actualización de paquetes de software

Haga clic en Content para editar y cambiar los scripts, como installgooglechrome.sh, directamente en RAM.

Figura 20. Script installgooglechrome.sh en Asset
installgooglechrome.sh script in Asset

Si lo hace, asegúrese de iniciar sesión en la máquina virtual ICCT, busque los mismos scripts en caché y realice los cambios correspondientes en la máquina virtual ICCT.

Por ejemplo, si usted va a cambiar el installgooglechrome.sh directamente en RAM, encuéntrelo en la máquina virtual ICCT:

idcuser@vhost4244:/> cd /drouter
idcuser@vhost4244:/drouter> find . -name installgooglechrome*
./ramdisk2/mnt/raid-volume/raid0/local/images/789d525e-ad75-4cc1-a25b-360534713d8c
 /artifacts/com.google.chrome_1.0.0/imageBuild/newstep/installgooglechrome.sh
./ramdisk2/mnt/raid-volume/raid0/uploads/be7aa215-f0ab-4d98-8acc-7dc427ee4877
 /installgooglechrome.sh

Edite el archivo y aplique los mismos cambios que realizó en RAM.


En conclusión

En este artículo usted aprendió cómo crear y mantener paquetes de software usando ICCT en IBM SmartCloud Enterprise yendo paso a paso por un ejemplo simple. En laParte 2 le mostraremos cómo desarrollar una imagen con el mismo paquete de software usando ICCT.

Recursos

Aprender

Obtener los productos y tecnologías

  • Evalúe productos de IBM de la forma que mejor se ajuste a usted: Descargue una prueba de producto, ensaye un producto en línea, use un producto en un entorno en nube, o pase algunas horas en elSOA Sandbox aprendiendo cómo implementar eficientemente la arquitectura orientada al servicio.

Comentar

  • Participe en la Comunidad My developerWorks. Conéctese con otros usuarios de developerWorks mientras explora los blogs conducidos por desarrolladores, foros, grupos y wikis.

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Cloud computing, Rational
ArticleID=842944
ArticleTitle=Administración de IBM SmartCloud Enterprise, Parte 1: Cree paquetes de software para VMs con ICCT
publish-date=10292012