Kubernetes es un proyecto de código abierto que se ha convertido en una herramienta de orquestación de contenedores ampliamente utilizada, que permite la implementación y la gestión a gran escala de aplicaciones de múltiples contenedores. Si bien se usa comúnmente con Docker, la plataforma de contenedorización líder, es compatible con cualquier sistema de contenedores que cumpla con los estándares de la Open Container Initiative (OCI) para formatos de imágenes de contenedores y tiempos de ejecución. Debido a su naturaleza de código abierto y restricciones de uso mínimas, puede ser utilizado libremente por cualquier persona que desee ejecutar contenedores en cualquier ubicación: local, en la nube pública o una combinación de ambas.
Kubernetes tiene comandos integrados que manejan la mayor parte del trabajo necesario para la gestión de aplicaciones, lo que permite la automatización de las operaciones diarias y garantiza que las aplicaciones se ejecuten según lo previsto.
Kubernetes maneja la computación, la red y el almacenamiento de sus cargas de trabajo, lo que permite a los desarrolladores centrarse en las aplicaciones sin preocuparse por el entorno subyacente.
Kubernetes monitorea constantemente el estado de los servicios, reinicia los contenedores fallidos o estancados y pone los servicios a disposición de los usuarios solo cuando ha confirmado que están en ejecución.
Kubernetes se originó como un proyecto en Google y es el sucesor de Google Borg, una herramienta de administración de contenedores anterior que se usaba internamente. Google convirtió Kubernetes en código abierto en 2014, ya que las arquitecturas de microservicios distribuidos facilitadas por Kubernetes facilitan la ejecución de aplicaciones en la nube. Google ve la adopción de contenedores, microservicios y Kubernetes como posibles impulsores para que los clientes usen sus servicios en la nube. Sin embargo, también funciona con Azure y AWS. Actualmente, Kubernetes es mantenido por la Cloud Native Computing Foundation, que depende de la Linux Foundation.
A menudo, se considera erróneamente a Kubernetes y Docker como alternativas mutuamente excluyentes, cuando en realidad son tecnologías diferentes pero complementarias para ejecutar aplicaciones en contenedores.
Docker permite empaquetar todo lo necesario para ejecutar una aplicación en un contenedor que se puede almacenar y abrir. Una vez que comienza a empaquetar sus aplicaciones, necesita un medio para administrarlas; ahí es donde entra en juego Kubernetes.
Kubernetes, "capitán" en griego, actúa como el capitán de un barco, responsable de transportar y entregar de manera segura esos contenedores a donde se los necesita.
Kubernetes se utiliza para crear aplicaciones manejables que se pueden implementar en cualquier lugar. Kubernetes ofrece varias opciones para satisfacer sus necesidades cuando se ofrece como un servicio administrado. Algunos casos de uso comunes incluyen:
Kubernetes ayuda a construir aplicaciones basadas en microservicios nativos de la nube y admite la contenedorización de aplicaciones existentes, convirtiéndose en la base para modernizar aplicaciones y permitiendo un desarrollo más rápido.
Kubernetes está diseñado para usarse en cualquier lugar, lo que permite que las aplicaciones se ejecuten en instalaciones locales, nubes públicas e implementaciones híbridas, lo que hace posible ejecutar aplicaciones donde sea necesario.
Kubernetes puede ajustar automáticamente el tamaño de un clúster necesario para ejecutar un servicio, lo que permite el escalado automático de aplicaciones según la demanda y su ejecución eficiente.
Los contenedores encapsulan una aplicación en un formato que es fácil de implementar y transportar a cualquier lugar. La arquitectura de Kubernetes está diseñada para ejecutar aplicaciones en contenedores. Un clúster de Kubernetes comprende al menos un plano de control y al menos un nodo de trabajo (normalmente un servidor físico o virtual).
Las principales responsabilidades del plano de control son exponer la API de Kubernetes a través del servidor de API y administrar los nodos que componen el clúster. El plano de control toma decisiones sobre la administración del clúster y detecta y responde a los eventos del clúster. La unidad de ejecución más pequeña para una aplicación que se ejecuta en Kubernetes es un pod de Kubernetes, que comprende uno o más contenedores. Los pods de Kubernetes se ejecutan en nodos de trabajo.
Copyright © 2024 - Todos los derechos reservados.