¿Qué son los orquestadores?

Completado

El diseño desacoplado de los microservicios combinado con la atomicidad de los contenedores permite escalar las aplicaciones de manera horizontal, responder a una mayor demanda mediante la implementación de más instancias de contenedor y revertir la escala si la demanda disminuye. En soluciones complejas, el proceso de implementar, actualizar, supervisar y eliminar contenedores plantea muchos retos.

Administración de contenedores

La administración de contenedores es el proceso de organización, adición, eliminación o actualización de un número significativo de contenedores.

El sitio web de Contoso de equipos para exteriores consta de varios microservicios responsables de tareas como almacenamiento en caché, procesamiento de datos y un carro de la compra. Cada uno de estos servicios se hospeda en un contenedor y se puede implementar, actualizar y escalar de forma independiente.

Diagram illustrating adding multiple containers to a single machine instance.

Si aumenta el número de instancias de contenedor de un carro de la compra y necesita implementar una nueva versión, tendrá que actualizar cada instancia de ese contenedor.

La administración de contenedores le ayuda con estas tareas.

Orquestación de contenedores

Un orquestador de contenedores es un sistema que implementa y administra automáticamente aplicaciones en contenedores. Por ejemplo, el orquestador puede responder de forma dinámica a los cambios del entorno para aumentar o disminuir las instancias implementadas de la aplicación administrada. También puede asegurarse de que todas las instancias de contenedor implementadas se actualizan si se publica una versión nueva de un servicio.

Diagram showing some tasks of orchestration, including dynamic scaling and automatically updating running instances.

Kubernetes

Kubernetes es una plataforma de código abierto portable y extensible para la administración y orquestación de cargas de trabajo en contenedores. Kubernetes abstrae tareas de administración de contenedores complejas y proporciona una configuración declarativa para orquestar los contenedores de distintos entornos de proceso. Esta plataforma de orquestación ofrece la misma facilidad de uso y flexibilidad que le podrían resultar familiares de ofertas de plataforma como servicio (PaaS) e infraestructura como servicio (IaaS).

Image showing the Kubernetes logo amongst multiple containers running on a computer

Ventajas

Las ventajas de usar Kubernetes se basan en la abstracción de tareas

Diagram showing the benefits of Kubernetes including that it's self-healing, can scale dynamically, and has rolling updates.

Estas tareas incluyen:

  • Recuperación automática: por ejemplo, para reiniciar contenedores con errores o para reemplazar contenedores.
  • Escalado o reducción vertical dinámicos del número de contenedores implementados en función de la demanda.
  • Actualizaciones graduales automáticas y reversiones de contenedores
  • Administración del almacenamiento
  • Administración del tráfico de red
  • Almacenamiento y administración de información confidencial, como nombres de usuario y contraseñas.

Dado que Kubernetes es una herramienta para orquestar cargas de trabajo contenedorizadas y puede implementar microservicios de .NET en contenedores, puede usar Kubernetes para orquestar los microservicios de .NET. Eso es lo que se le enseñará en el resto de este módulo.

Comprobar los conocimientos

1.

¿Por qué es útil un orquestador de contenedores en una arquitectura de microservicios?