Si es posible ejecutar una ventana acoplable en AWS EC2, ¿por qué necesitaría Kubernetes?

Si eso es posible. Puede instalar el motor Docker en instancias EC2 y puede crear clústeres completos con nodos maestros y de datos junto con sistemas de almacenamiento de datos.

.. pero AWS también tiene su propio servicio de contenedor llamado AWS ECS. También puedes usarlo. Este es un servicio administrado mediante el cual puede iniciar sus contenedores.

La informática basada en contenedores tiene dos partes básicas, 1. contenedores en sí y 2. sistema a través del cual puede administrar sus contenedores.

Kubernetes es una de las herramientas o sistemas a través del cual puede administrar y crear sus grupos de contenedores. En otras palabras, es una herramienta de orquestación. Kubernetes no está solo en su categoría, Docker Swarm es otro gran jugador.

Kubernetes fue desarrollado en y por Google y luego donado a Open Source. Esta es una herramienta recomendada por Cloud Native Computing Foundation (CNFC). Esta es la base que está tratando de dar forma al futuro del espacio abierto en la nube. AWS también se ha unido recientemente junto con Microsoft.

Kebernetes es el motor de orquestación predeterminado en Google Cloud (GCP), y también ha cobrado impulso en otras organizaciones donde los contenedores se utilizan a gran escala.

Hay dos partes para ejecutar un entorno basado en contenedor:

  1. El tiempo de ejecución del contenedor en sí . Esto es necesario para que uno pueda lograr un buen grado de aislamiento, facilidad de implementación con integración continua completa, control de versión de lanzamiento de software, portabilidad y seguridad. Tener esto solo significa un montón de tiempos de ejecución que se ejecutan en toda la flota. Dado que el tráfico de producción tiene muchos componentes variables y uno desearía hacer girar / desmantelar las máquinas host para mantener los costos operativos al mínimo (a través del autoescalado, etc.), el siguiente problema es cómo hacer esto de manera automatizada ( porque la sobrecarga manual es demasiado costosa, mucha contabilidad y propensión a errores).
  2. El administrador de contenedores . Esto es lo que resuelve el problema de la administración de contenedores en ejecución en un clúster. Ayuda a:
  1. Implemente aplicaciones de forma rápida y previsible.
  2. Escalar / desmontar contenedores de acuerdo con la utilización.
  3. Gestión de secretos de aplicaciones (claves de acceso).
  4. Equilibrio de cargas: sin estado (fácil), con estado (a través de la replicación y la administración de réplicas).
  5. Gestión por estado del contenedor (registros, métricas, archivos de estado, etc.)

Tener el n. ° 1 solo significa que el proveedor tiene que hacer manualmente todo (y más) del n. ° 2, lo que lleva mucho tiempo, implica un costo humano y es propenso a errores.

# 2 es lo que se podría lograr con Kubernetes, Docker Swarm, DC / OS, etc.

Porque cuando tienes una o dos aplicaciones, Docker es suficiente. Pero cuando tiene más de 30 aplicaciones y varios tipos de contenedores, necesita cierta orquestación.

Y Kubernetes brilla en la estación de trabajo con pods y todas las capacidades de orquestación.

Sí, tal vez no lo necesite ahora, pero puede tener el éxito suficiente como para que NECESITE ejecutar Kubernetes para tener cierta orquestación y cordura ambiental.

Kubernetes se usa para administrar las imágenes de la ventana acoplable y los contenedores que se ejecutan a través de él, puede implementar, escalar, eliminar y recrear contenedores usando Kubernetes sin problemas y sin problemas.