Correo electrónico | nube@criptonube.com

“Despliegue y administre clústeres de Kubernetes sin esfuerzo con CCE de Huawei Cloud”

  • July 27, 2023

Conforme las tecnologías han evolucionado también la forma en la que se desarrollan y despliegan las aplicaciones, un ejemplo de ello es el uso de contenedores, plataformas que nos permiten orquestar los contenedores y también formas de automatizar la administración y despliegue sin mayor esfuerzo. En este blog exploraremos como CCE de Huawei cloud puede ayudarnos con nuestras cargas de trabajo para escalar nuestras operaciones de forma eficiente. 

Antes de conocer este servicio que nos ofrece Huawei cloud debemos conocer algunos conceptos importantes como los contenedores, Docker, orquestadores y Kubernetes.

Los contenedores brindan una virtualización liviana la cual permite que se puedan aislar ciertos procesos y recursos, es así como se pueden empaquetar las aplicaciones y todas sus dependencias en contenedores portátiles y ligeros que pueden ejecutarse en cualquier entorno. Sin embargo, la gestión de un gran número de contenedores en un entorno de producción puede llegar ser un desafío.

Docker es uno de los primeros software en permitir la portabilidad de contenedores entre servidores, esto facilita la tarea de empaquetar aplicaciones y dependencias. Incluso es posible empaquetar todo el sistema de archivos del sistema operativo en un paquete, que puede ser utilizado en cualquier otra máquina que tenga Docker instalado.

Un orquestador de contenedores es una herramienta que se utiliza para administrar y coordinar un gran número de contenedores en un entorno de producción. Estas herramientas ayudan a los equipos de operaciones y desarrollo a gestionar la complejidad de un gran número de contenedores que se ejecutan en múltiples servidores y que deben ser escalados y actualizados de manera eficiente y confiable. Entre los orquestadores más comunes podemos encontrar los siguientes: Kubernetes, Docker Swarm y Mesos.

Kubernetes es una plataforma de orquestación de contenedores que automatiza la implementación, el escalado y la gestión de aplicaciones en contenedores. Con Kubernetes, es posible desplegar y gestionar aplicaciones en un entorno altamente disponible y escalable, permitiendo un despliegue más rápido y una mejor utilización de los recursos.

Ahora que tenemos en claro estos conceptos podemos comprender como el CCE (Cloud Container Engine) de Huawei cloud puede maximizar nuestras operaciones.

CCE de Huawei Cloud es servicio bastante completo, esto debido a que incluye computo, redes, almacenamiento y muchos otros servicios que se integran de manera eficiente, entre estos destaca el SWR ( Software Repository for Containers) el cual permite la administración de la imágenes de nuestras aplicaciones de forma sencilla. Este servicio permite diferentes tipos de arquitecturas como GPU y ARM. Además, CCE ofrece soporte para recuperación ante desastres de múltiples zonas de disponibilidad y regiones, lo que significa que los clústeres de Kubernetes pueden tener una alta disponibilidad y estar siempre disponibles.

CCE es un servicio de contenedores que está basado en el uso de tecnologías como Docker y Kubernetes. Este servicio cuenta con numerosas funciones que permiten la ejecución de clústeres de contenedores a gran escala, como mencionamos anteriormente esto puede ser un desafío si no se utilizan herramientas que permitan integrar la automatización de procesos como el despliegue y la gestión de los contenedores. Es por ello por lo que debido a la confiabilidad y el rendimiento que este servicio otorga, CCE simplifica la creación de contenedores y hace que sea una tarea más sencilla. 

Entre las ventajas que nos ofrece CCE podemos destacar las siguientes: 

  • Fácil de utilizar: CCE automatiza la implementación y O&M de aplicaciones en contenedores a lo largo de su ciclo de vida, por consiguiente ayuda en el proceso de CI/CD.
  • Eficiencia: Al ser un servicio automatizado permite que podamos utilizar escalabilidad, por lo que nuestros recursos de adaptaran a nuestras cargas de trabajo optimizando el uso de estos.
  • Disponibilidad:  Este servicio mantiene la disponibilidad de nuestras cargas de trabajo haciendo uso de nodos en distintas zonas de disponibilidad.
  • Seguridad: El servicio al hacer uso de la disponibilidad también cuenta con planes de recuperación de desastres para garantizar la continuidad del servicio cuando uno de los nodos está inactivo o una zona de disponibilidad se ve afectada por desastres naturales.

Algunos de los escenario en los que se utiliza comúnmente el servicio de CCE podemos destacar los siguientes:

  • Gestión de infraestructura y aplicaciones
  • Escalado automático
  • Gestión de microservicios
  • Entrega y despliegue continuo.
  • Arquitectura hibrida, es decir on-premise como en la nube.
  • Programación de alto rendimiento

Es importante destacar que Huawei Cloud es uno de los primeros proveedores de servicios certificados de Kubernetes (KCSP) del mundo. También es fundador y miembro platino de Cloud Native Computing Foundation (CNCF). CCE es una de las primeras ofertas certificadas de Kubernetes en el mundo.

A continuación se presenta una imagen de la arquitectura del CCE de Huawei cloud para una mejor comprensión de la integración de los servicios.

Figura 1 Arquitectura CCE

A continuación veremos un pequeño ejemplo de un despliegue de Nginx desde la consola del Cloud Container Engine (CCE) de forma rápida y sencilla.

Dentro de la consola de CCE tendremos al no tener ningún cluster creado podemos observar una pestaña que nos permite crear el cluster.

Durante este proceso debemos ingresar algunos campos para la configuración del cluster como las configuraciones de red, la cantidad de nodos, la disponibilidad, versión de Kubernetes, etc. Una vez hemos configurado esto debemos confirmar la compra del servicio y esperar a que las validaciones del cluster estén completas.

Una vez las validaciones están completas podemos observar que en la consola ya se encuentra nuestro cluster.

Ahora debemos crear un nodo dentro de nuestro cluster de manera que podamos ejecutar nuestras cargas de trabajo. Para la creación de nuestro nodo debemos seleccionar las especificaciones de nuestro servidor, la plataforma de nuestros contenedores, el sistema operativo, la vpc, etc.

Una vez que creamos nuestro nodo debemos esperar a que este se muestre en la consola con el estado de “Running” para validar que funciona correctamente.

Una vez que hemos creado nuestro nodo debemos crear una carga de trabajo en contenedores a partir de una imagen. Dentro de la consola del cluster buscamos la pestaña de cargas de trabajo y creamos una de la siguiente manera.

Una vez seleccionado el tipo de carga de trabajo debemos seleccionar la imagen que utilizaremos dentro de las configuraciones del contenedor.

Luego de ello seleccionaremos las configuraciones del servicio para agregar un balanceador de cargas, el cual debemos de crear para agregarlo luego a la carga de trabajo del nodo.

Luego de agregarlo procedemos a crear nuestra carga de trabajo podemos observar en la consola que esta se desplego sin problemas.

Ahora que nuestra carga de trabajo se encuentra corriendo podemos acceder a la IP que nos proporciona el balanceador y validar que se encuentre funcionando.

Si el navegador nos muestra la imagen anterior significa que hemos configurado correctamente nuestra aplicación desde CCE.

Como se pudo apreciar en la pequeña prueba que hemos realizado, es bastante sencillo poder crear recursos para nuestras aplicaciones de forma que CCE nos proporciona una plataforma automatizada para el despliegue de nuestras aplicaciones contenerizadas.

Autor: Aaron Mancilla – Cloud Solutions Architect

Más temas que te pueden interesar: