Cómo crear, implementar y lanzar máquinas virtuales en OpenStack


En esta guía, aprenderemos cómo crear imágenes y lanzar una instancia de una imagen (máquina virtual) en OpenStack y cómo obtener control sobre una instancia a través de SSH.

  1. Instale OpenStack en RHEL y CentOS 7
  2. Configurar el servicio de red OpenStack

Paso 1: Asignar IP flotante a OpenStack

1. Antes de implementar una imagen de OpenStack, primero debe asegurarse de que todas las piezas estén en su lugar y comenzaremos asignando IP flotante.

La IP flotante permite el acceso externo desde redes externas o Internet a una máquina virtual Openstack. Para crear IP flotantes para su proyecto, inicie sesión con sus credenciales de usuario y vaya a Proyecto -> Computación -> Acceso y seguridad -> pestaña IP flotante y haga clic en Asignar IP al proyecto.

Elija Grupo externo y presione el botón Asignar IP y la dirección IP debería aparecer en el tablero. Es una buena idea asignar una IP flotante para cada instancia que ejecute.

Paso 2: cree una imagen de OpenStack

2. Las imágenes de OpenStack son solo máquinas virtuales ya creadas por terceros. Puede crear sus propias imágenes personalizadas en su máquina instalando un sistema operativo Linux en una máquina virtual utilizando una herramienta de virtualización, como Hyper-V.

Una vez que haya instalado el sistema operativo, simplemente convierta el archivo a raw y cárguelo en su infraestructura de nube OpenStack.

Para implementar imágenes oficiales proporcionadas por las principales distribuciones de Linux, utilice los siguientes enlaces para descargar las imágenes empaquetadas más recientes:

  1. CentOS 7: http://cloud.centos.org/centos/7/images/
  2. CentOS 6: http://cloud.centos.org/centos/6/images/
  3. Fedora 23 - https://download.fedoraproject.org/pub/fedora/linux/releases/23/Cloud/
  4. Ubuntu - http://cloud-images.ubuntu.com/
  5. Debian: http://cdimage.debian.org/cdimage/openstack/current/
  6. Windows Server 2012 R2: https://cloudbase.it/windows-cloud-images/#download

Las imágenes oficiales contienen además el paquete cloud-init que es responsable del par de claves SSH y la inyección de datos del usuario.

En esta guía, implementaremos una imagen de prueba, con fines de demostración, basada en una imagen ligera de la nube de Cirros que se puede obtener visitando el siguiente enlace http://download.cirros-cloud.net/0.3.4/.

El archivo de imagen puede usarse directamente desde el enlace HTTP o descargarse localmente en su máquina y cargarse en la nube de OpenStack.

Para crear una imagen, vaya al panel web de OpenStack y vaya a Proyecto -> Computar -> Imágenes y presione el botón Crear imagen. En el mensaje de la imagen, use la siguiente configuración y presione Crear imagen cuando haya terminado.

Name: tecmint-test
Description: Cirros test image
Image Source: Image Location  #Use Image File if you’ve downloaded the file locally on your hard disk
Image Location: http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-i386-disk.img 
Format: QCOWW2 – QEMU Emulator
Architecture: leave blank
Minimum Disk: leave blank
Minimum RAM: leave blank
Image Location: checked
Public: unchecked
Protected: unchecked

Paso 3: lanzar una instancia de imagen en OpenStack

3. Una vez que haya creado una imagen, estará listo. Ahora puede ejecutar la máquina virtual según la imagen creada anteriormente en su entorno de nube.

Vaya a Proyecto -> Instancias y presione el botón Iniciar instancia y aparecerá una nueva ventana.

4. En la primera pantalla, agregue un nombre para su instancia, deje la Zona de disponibilidad en nova, use un recuento de instancias y presione el botón Siguiente para continuar.

Elija un nombre de instancia descriptivo para su instancia porque este nombre se utilizará para formar el nombre de host de la máquina virtual.

5. A continuación, seleccione Imagen como fuente de arranque, agregue la imagen de prueba de Cirros creada anteriormente presionando el botón + y presione Siguiente para continuar.

6. Asigne los recursos de la máquina virtual agregando un tipo que mejor se adapte a sus necesidades y haga clic en Siguiente para continuar.

7. Finalmente, agregue una de las redes disponibles de OpenStack a su instancia usando el botón + y presione Launch Instance para iniciar la máquina virtual.

8. Una vez que se haya iniciado la instancia, presione la flecha derecha del botón de menú Crear instantánea y seleccione Asociar IP flotante.

Seleccione una de las IP flotantes creadas anteriormente y presione el botón Asociar para que la instancia sea accesible desde su LAN interna.

9. Para probar la conectividad de red para su máquina virtual activa, emita un comando ping contra la dirección IP flotante de la instancia desde una computadora remota en su LAN.

10. En caso de que no haya ningún problema con su instancia y el comando ping tenga éxito, puede iniciar sesión de forma remota a través de SSH en su instancia.

Utilice la utilidad Ver registro de la instancia para obtener las credenciales predeterminadas de Cirros, como se ilustra en las capturas de pantalla siguientes.

11. De forma predeterminada, no se asignarán servidores de nombres DNS desde el servidor DHCP de la red interna para su máquina virtual. Este problema conduce a problemas de conectividad de dominio de la contraparte de la instancia.

Para resolver este problema, primero detenga la instancia y vaya a Proyecto -> Red -> Redes y edite la subred adecuada presionando el botón Detalles de subred.

Agregue los servidores de nombres DNS requeridos, guarde la configuración, inicie y conéctese a la consola de la instancia para probar si se ha aplicado la nueva configuración haciendo ping a un nombre de dominio. Utilice las siguientes capturas de pantalla como guía.

En caso de que tenga recursos físicos limitados en su infraestructura y algunas de sus instancias se nieguen a iniciarse, edite la siguiente línea del archivo de configuración nova y reinicie la máquina para aplicar los cambios.

# vi /etc/nova/nova.conf

Cambie la siguiente línea para que se vea así:

ram_allocation_ratio=3.0

¡Eso es todo! Aunque esta serie de guías acaba de tocar la superficie del mamut de OpenStack, ahora tiene los conocimientos básicos para comenzar a crear nuevos inquilinos y usar imágenes reales del sistema operativo Linux para implementar máquinas virtuales en su propia infraestructura de nube de OpenStack.