En el panorama actual de la computación en la nube, OpenStack es a menudo percibido como un sistema complejo. Esta percepción, aunque fundamentada, puede modificarse con el uso de herramientas adecuadas. OpenStack, domado de forma efectiva, se convierte en una tecnología accesible para todos, incluidos aquellos sin experiencia previa en OpenStack o Linux.
Iniciando con OpenStack
El arranque histórico de OpenStack ha sido un desafío. El número de pasos y decisiones de diseño para iniciar la instalación ha sido abrumador para los nuevos usuarios. Afortunadamente, esto cambia con el proyecto Sunbeam.
Con Sunbeam, instalar OpenStack es posible en cinco pasos sencillos. Este proceso, de menos de una hora, resulta en una nube completamente funcional. Aunque el despliegue de un clúster multi-nodo de producción requiere más esfuerzo, en esencia, el proceso sigue siendo similar.
El paso más importante es atreverse a probar. OpenStack no es tan intimidante como parece. Personalmente, logré hacerlo funcionar en mi laptop mientras redactaba este blog.
Migrando las Cargas de Trabajo
Una vez establecida la nube, llega el momento de migrar las cargas de trabajo y los datos. Una instalación de OpenStack basada en Sunbeam puede ser una alternativa viable a infraestructuras de pequeña escala como VMware vSphere, Proxmox VE, Hyper-V o Citrix Hypervisor.
La migración podría ser más fácil de lo que se piensa. Primero se exporta la imagen del disco de una máquina virtual (VM), proceso que varía según la plataforma pero suele estar bien documentado.
Luego, la imagen exportada debe convertirse al formato QCOW2, utilizado por OpenStack. Para convertir una imagen VMDK de VMware a QCOW2, se emplea la herramienta qemu-img:
qemu-img convert -f vmdk -O qcow2 my_vmware_image.vmdk my_openstack_image.qcow2
Esta imagen QCOW2 puede importarse al servicio OpenStack Glance y lanzarse como VM mediante el servicio OpenStack Nova.
En escenarios más avanzados, donde el tiempo de inactividad no es una opción, se pueden considerar herramientas de migración-como-servicio especializadas. Un buen ejemplo es Coriolis de Cloudbase Solutions.
Ejecutando Kubernetes en su Infraestructura de Nube
Una plataforma de nube moderna no estaría completa sin una capa de Kubernetes ejecutándose en la parte superior. Esto es algo que el proyecto Sunbeam también puede manejar de manera eficiente. Utilizando el servicio OpenStack Magnum y su arquitectura de plugins integrados, se puede habilitar la funcionalidad de Kubernetes bajo demanda con casi un solo clic.
Para habilitar el plugin de Contenedores-como-Servicio (CaaS) en su nube basada en Sunbeam de varios nodos, ejecute el siguiente comando:
sunbeam enable caas
Esto instalará los componentes de Magnum, permitiendo así el uso de sus APIs. Luego, para crear una plantilla de clúster de Kubernetes, utilice el cliente OpenStack:
openstack coe cluster template create k8s-cluster-template-ovn \
--image fedora-coreos-38 \
--keypair sunbeam \
--external-network external-network \
--flavor m1.small \
--docker-volume-size 15 \
--master-lb-enabled \
--labels octavia_provider=ovn \
--labels octavia_lb_algorithm=SOURCE_IP_PORT \
--network-driver flannel \
--coe kubernetes
A partir de ahora, puede usar un solo comando para crear clústeres de Kubernetes bajo demanda:
openstack coe cluster create \
--cluster-template k8s-cluster-template-ovn \
--node-count 1 \
--timeout 60 \
sunbeam-k8s-ovn
Siempre consulte la documentación oficial para obtener las instrucciones más actualizadas.
En resumen, el proyecto Sunbeam hace que OpenStack sea adecuado para implementaciones de infraestructura de nube privada a pequeña escala. Reduce las barreras de entrada, permitiendo instalar un clúster de OpenStack de grado de producción en unos pocos pasos sencillos. Otras funciones típicas de la nube, como Kubernetes bajo demanda, también están disponibles de manera nativa con casi un solo clic. Todo esto hace que la plataforma sea accesible para todos los usuarios, independientemente de su experiencia, y pone el poder de OpenStack al alcance de organizaciones de cualquier tamaño.