¿Qué son los orquestadores?
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.
Si aumenta el número de instancias de contenedor de 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.
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).
Ventajas
Las ventajas de usar Kubernetes se basan en la abstracción de tareas
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.