Automatización de OpenStack con Ansible | Analog Devices

Resumen

El objetivo de este artículo es ofrecer una visión general de un enfoque alternativo al aprovisionamiento de máquinas virtuales fuera de VMware. El público objetivo incluye, pero no se limita a, los desarrolladores de software que se ocupan de la automatización de máquinas virtuales. Debido al elevado coste de la licencia de proveedor de servicios de VMware y de su infraestructura de apoyo a vRealize, vCenter y otras herramientas, hemos utilizado nuestros recursos para desarrollar un enfoque alternativo rentable que realice las mismas tareas. Nuestra solución es un enfoque que utiliza tecnologías de código abierto con metodologías DevOps utilizando Ansible Tower® para interactuar con OpenStack®que se implementan mediante playbooks para aprovisionar máquinas virtuales. Hemos integrado esta tecnología en nuestra Gama Cibernética software, descrito como un caso de estudio en este artículo para demostrar que esta metodología tiene éxito.

Introducción

Este artículo explica cómo Ansible Tower es una de las formas más sencillas de crear, desplegar y configurar máquinas virtuales de OpenStack utilizando playbooks. El rendimiento del sistema, la automatización de las TI, las implantaciones de sistemas complejos y la productividad de la velocidad son criterios clave para el desarrollo de software cuando se interactúa con máquinas virtuales. Todas estas funciones están disponibles en Ansible Tower, que dispone de APIs REST para integrarse fácilmente con las herramientas y procesos existentes. Un portal seguro en el que los usuarios puedan solicitar nuevos servicios de TI y gestionar recursos específicos de la nube y de TI puede lograrse utilizando Ansible Tower como herramienta de código abierto para automatizar el despliegue y las actualizaciones de aplicaciones, así como la configuración del software de red y de seguridad.

¿Por qué Ansible?

Ansible® es una sencilla herramienta de automatización que puede describir perfectamente la infraestructura de una aplicación informática. Es fácil de aprender, se documenta por sí mismo y no requiere un grado avanzado de informática para leerlo. La automatización no debe ser más compleja que las tareas que sustituye.

  • Simple
    • Automatización legible para el ser humano
    • No necesitas conocimientos especiales de codificación
    • Tareas realizadas en orden
    • Ser productivo rápidamente
  • Potente
    • Despliegue de aplicaciones
    • Gestión de la configuración
    • Orquestación del flujo de trabajo
    • Orquestar el ciclo de vida de las aplicaciones
  • Sin agente
    • Arquitectura sin agentes
    • Utiliza OpenSSH y WinRM
    • No hay agentes que operen o actualicen
    • Previsible, fiable y seguro

¿Qué es la torre Ansible?

Ansible Tower es una interfaz de usuario basada en la web para gestionar Ansible. Centraliza y controla la infraestructura de Ansible mediante un panel visual. Se le puede llamar el centro de las tareas de automatización.

Torre Ansible

  • Interfaz de usuario basada en la web para gestionar Ansible
  • Centraliza y controla la infraestructura de Ansible con un panel visual
  • Proporciona una API REST para Ansible
  • Ansible
    • Es una herramienta de automatización de código abierto
    • Diseñado para que sea fácil de entender y aprender para todos
    • No requiere scripts ni código personalizado
    • Proporciona un motor de automatización
    • Gestiona las redes, la infraestructura y los sistemas operativos
    • Proporciona módulos preconstruidos para gestionar y configurar hosts (más de 450)
    • Proporciona una API basada en Python®
    • Utiliza OpenSSH
    • Proporciona automatización y orquestación a través de playbooks.

¿Qué es OpenStack?

OpenStack es un sistema operativo en la nube que controla grandes conjuntos de recursos informáticos, de almacenamiento y de red en todo un centro de datos, todo ello gestionado a través de un panel de control que ofrece a los administradores el control, al tiempo que permite a sus usuarios aprovisionar recursos a través de una interfaz web. Es un proyecto de código abierto que proporciona una plataforma de infraestructura como servicio para crear aplicaciones preparadas para la nube, y es compatible con varios hipervisores para aprovisionar y orquestar la nube. Puede ejecutar cargas de trabajo multinivel o herramientas de desarrollo de código abierto. Los usuarios finales pueden aprovisionar recursos fácilmente y admitir casi cualquier hipervisor, incluidos VMware ESXi, Xen y KVM.

¿Por qué OpenStack?

OpenStack se integra fácilmente con Ansible Tower, el hipervisor VMware y Hyper-V para utilizar la infraestructura existente. OpenStack y el hipervisor KVM son gratuitos, pero requieren ser configurados por administradores cualificados. OpenStack es una plataforma de código abierto para desplegar, desarrollar y construir plataformas en la nube. Es una interfaz de línea de comandos y es potente, con administración, API y servicios web RESTful y comandos de panel de control basados en la web. Este software de nube de código abierto se utiliza para gestionar la computación (Nova), el almacenamiento de bloques de volumen (Cinder), el servicio de imágenes de máquinas virtuales (Glance) y las construcciones de red (Neutron). OpenStack es una base que simplifica no sólo el proceso de despliegue, sino también el desarrollo, el almacenamiento, la red, la supervisión, la gestión y las aplicaciones.

OpenStack

  • Código abierto: la tecnología está respaldada por una gran comunidad de desarrolladores
  • Aporta valor, eficiencia y agilidad a los clientes
  • Incluye un conjunto de utilidades modulares, escalables y flexibles
  • Probado por empresas líderes
  • La interoperabilidad y las API de código abierto permiten a los administradores gestionar entornos de TI híbridos sin una capa adicional de gastos generales

Cuadernos de juego Ansible

Un libro de jugadas es un archivo YAML que describe una lista de tareas a realizar contra un conjunto de hosts, que están definidos en el inventario de Ansible. Un libro de jugadas consta de uno o varios conjuntos, que se utilizan para agrupar tareas. Define los nombres de las máquinas virtuales, el archivo VMDK, la red, las direcciones IP y la información del escenario. Los playbooks son la base de un sistema de despliegue y gestión de la configuración muy sencillo para varias máquinas. Los playbooks pueden declarar configuraciones, pero también pueden orquestar los pasos de cualquier proceso manual ordenado.

Libros de jugadas

  • Definir las tareas a realizar en los hosts
  • Las tareas se ejecutan en el orden del libro de jugadas
  • Formato YAML

Figura 1: Ejemplo de libro de jugadas.

Interacción de OpenStack con Ansible

Un playbook de Ansible define una serie de tareas y configuraciones en el entorno de OpenStack. Algunos ejemplos de tareas son el aprovisionamiento de instancias de máquinas virtuales, la configuración de la IP de las máquinas virtuales y la configuración de un conmutador para conectar en red las máquinas virtuales.

Estudio de caso: Cyber Range un software real

Cyber Range proporciona a los clientes una plataforma virtualizada escalable para la formación en ciberseguridad, el modelado, la simulación y el análisis avanzado. Ofrecemos nuestra solución a muchos clientes, como el Departamento de Defensa de EE.UU., la Agencia de Ciberseguridad de Singapur (CSA/SITSA) y la Universidad de Kyushu en Japón.

  1. El usuario hace clic en el botón de inicio para comenzar un ejercicio (formación práctica en ciberseguridad).
  2. El software Cyber Range llama al nombre del escenario de entrenamiento y al nombre del usuario a través de la API REST a la Torre Ansible mediante una petición POST.
  3. Ansible Tower realiza las tareas del playbook del ejercicio y proporciona información de configuración a OpenStack. Esta información incluye imágenes de máquinas virtuales e información de red.
  4. OpenStack aprovisiona la imagen de la máquina virtual y configura la red.
  5. OpenStack devuelve el estado a Ansible Tower y Ansible Tower devuelve el estado a la aplicación web.
  6. Si el estado es correcto, el software Cyber Range muestra el icono de Windows o Linux que permite un hipervínculo para abrir la consola.

Figura 2. La aplicación web Cyber Range interactúa con Ansible y OpenStack a través de la API REST.

Resumen

Gracias a la integración de Ansible Tower con OpenStack con el software Cyber Range, podemos crear una aplicación que proporciona formación bajo demanda y escenarios del mundo real a nuestros clientes de todo el mundo. La integración de la API REST de Ansible con los playbooks ha eliminado gran parte del código necesario para el aprovisionamiento y lo ha trasladado a un proceso automatizado más sistematizado. Podemos resumir el punto clave de este artículo como sigue:

  • Ansible puede automatizar diversas tareas de TI, como el aprovisionamiento del sistema, la instalación de paquetes, la configuración y seguridad de la red y el aprovisionamiento de instancias de un servicio en la nube.
  • El enfoque de utilizar playbooks, que simplifican las tareas de orquestación y configuración de las máquinas virtuales, y el despliegue de escenarios complejos que pueden contener varias máquinas virtuales en una red personalizada, puede requerir la ejecución de scripts personalizados durante el despliegue.
  • La unidad del proceso en la que se ejecutan los comandos uno a uno mediante un libro de jugadas se llama tarea.
  • Para poner en práctica la automatización de OpenStack con Ansible, necesitas OpenStack, Ansible, Ansible Tower y control de fuentes (por ejemplo, un repositorio Git).

Recomendamos considerar Ansible y OpenStack para la automatización de la infraestructura de la nube y su despliegue en otros proyectos de nube de Analog Devices.

Si quieres conocer otros artículos parecidos a Automatización de OpenStack con Ansible | Analog Devices puedes visitar la categoría Generalidades.

¡Más Contenido!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir