Introducción
Para que el proceso de administración sea más sencillo, lo normal es usar una plataforma de administración de contenedores como Kubernetes. Supongamos que trabajamos para una empresa de administración de drones. La empresa proporciona una solución de seguimiento de drones a clientes de todo el mundo.
La solución se ha creado e implementado como varios microservicios, e incluye distintas aplicaciones principales:
- Front-end web: muestra mapas e información sobre drones sometidos a seguimiento.
- Servicio de caché: almacena información solicitada con frecuencia que se muestra en el sitio web.
- API RESTful: la usan los drones sometidos a seguimiento para enviar datos sobre su estado, como una ubicación de GPS y los niveles de carga de la batería.
- Cola: contiene los datos sin procesar que recopila la API RESTful.
- Servicio de procesamiento de datos: recopila y procesa los datos de la cola.
- Base de datos NoSQL: almacena datos de seguimiento procesados e información de usuario capturada desde el sitio web y el servicio de procesamiento de datos.
Los contenedores son una opción excelente para desarrollar software basado en arquitecturas de microservicios. Hacen un uso eficaz del hardware, proporcionan características de seguridad para ejecutar varias instancias de manera simultánea en el mismo host sin conflictos entre ellas y permiten que un servicio se escale horizontalmente mediante la implementación de más instancias.
El entorno de ejecución de administración de contenedores estándar se centra en la administración de contenedores individuales. Si quiere escalar un sistema complejo con varios contenedores que colaboran, el escenario va a ser todo un reto. Considere los aspectos siguientes:
- Configuración y mantenimiento del equilibrio de carga
- Conectividad de red
- Orquestación del proceso de implementación
Usa instancias de contenedor para implementarlas rápidamente en regiones de cliente nuevas y escalar los recursos, según las necesidades, con el fin de satisfacer las demandas de los clientes. Para simplificar el desarrollo, la implementación y la administración de estas complejas aplicaciones contenedorizadas, se usa una plataforma de orquestación de contenedores, como Kubernetes.
Objetivos de aprendizaje
En este módulo, aprenderá lo siguiente:
- Cómo ayuda Kubernetes a la orquestación de contenedores.
- Diferencias entre los planos de control y los nodos.
- Evaluar si Kubernetes es una plataforma de orquestación adecuada para una carga de trabajo determinada.
Requisitos previos
- Conceptos básicos de las arquitecturas de microservicios
- Conocimientos básicos sobre cómo funcionan los contenedores de Docker
- Conocimientos básicos sobre cómo instalar software con una interfaz de línea de comandos (CLI)