Kubernetes (a veces abreviado a K8s donde el 8 representa el número de letras entre la "K" y la "s") es un sistema de código abierto para implementar, escalar y administrar aplicaciones en contenedores en cualquier lugar.
Con la adopción generalizada de contenedores entre las organizaciones, Kubernetes, el software de administración centrado en contenedores, se ha convertido en el estándar de facto para implementar y operar aplicaciones en contenedores. Google Cloud es el lugar de nacimiento de Kubernetes, desarrollado originalmente en Google y lanzado como código abierto en 2014. Kubernetes se basa en 15 años de ejecución de cargas de trabajo en contenedores de Google y las valiosas contribuciones de la comunidad de código abierto. Inspirado en el sistema de gestión de clústeres interno de Google, Borg, Kubernetes facilita todo lo relacionado con la implementación y la administración de su aplicación. Al proporcionar una orquestación de contenedores automatizada, Kubernetes mejora su confiabilidad y reduce el tiempo y los recursos atribuidos a las operaciones diarias.
¿Cuáles son los beneficios de Kubernetes?
Operaciones automatizadas
Kubernetes tiene comandos integrados para manejar gran parte del trabajo pesado que implica la administración de aplicaciones, lo que le permite automatizar las operaciones diarias. Puede asegurarse de que las aplicaciones siempre se ejecuten de la forma en que desea que se ejecuten.
Abstracción de infraestructura
Cuando instala Kubernetes, maneja la computación, las redes y el almacenamiento en nombre de sus cargas de trabajo. Esto permite a los desarrolladores centrarse en las aplicaciones y no preocuparse por el entorno subyacente.
Supervisión del estado del servicio
Kubernetes ejecuta continuamente comprobaciones de estado de sus servicios, reiniciando los contenedores que fallan o se han estancado, y solo pone los servicios a disposición de los usuarios cuando ha confirmado que se están ejecutando.
Kubernetes frente a Docker
A menudo mal interpretados como una elección entre uno u otro, Kubernetes y Docker son tecnologías diferentes pero complementarias para ejecutar aplicaciones en contenedores.
Docker le permite poner todo lo que necesita para ejecutar su aplicación en una caja que se puede almacenar y abrir cuando y donde sea necesario. Una vez que comience a empaquetar sus aplicaciones, necesita una forma de administrarlas; y eso es lo que hace Kubernetes.
Kubernetes es una palabra griega que significa 'capitán' en inglés. Al igual que el capitán es responsable del viaje seguro del barco en los mares, Kubernetes es responsable de transportar y entregar esas cajas de manera segura a los lugares donde se pueden usar.
- Kubernetes se puede usar con o sin Docker
- Docker no es una alternativa a Kubernetes, por lo que es menos una pregunta de "Kubernetes vs. Docker". Se trata de usar Kubernetes con Docker para contener sus aplicaciones y ejecutarlas a escala.
- La diferencia entre Docker y Kubernetes se relaciona con el papel que desempeña cada uno en la creación de contenedores y la ejecución de sus aplicaciones.
- Docker es un estándar industrial abierto para aplicaciones de empaque y distribución en contenedores.
- Kubernetes usa Docker para implementar, administrar y escalar aplicaciones en contenedores
¿Para qué se utiliza Kubernetes?
Kubernetes se utiliza para crear aplicaciones que son fáciles de administrar e implementar en cualquier lugar. Cuando está disponible como un servicio administrado, Kubernetes le ofrece una variedad de soluciones para satisfacer sus necesidades. A continuación, se muestran algunos casos de uso habituales.
Aumento de la velocidad de desarrollo
Kubernetes le ayuda a crear aplicaciones basadas en microservicios nativas de la nube. También admite la contenedorización de aplicaciones existentes, convirtiéndose así en la base de la modernización de aplicaciones y permitiéndole desarrollar aplicaciones más rápido.
Implementar aplicaciones en cualquier lugar
Kubernetes está diseñado para usarse en cualquier lugar, lo que le permite ejecutar sus aplicaciones en implementaciones en el sitio y nubes públicas; así como implementaciones híbridas intermedias. Para que pueda ejecutar sus aplicaciones donde las necesite.
Ejecución de servicios eficientes
Kubernetes puede ajustar automáticamente el tamaño de un clúster necesario para ejecutar un servicio. Esto le permite escalar automáticamente sus aplicaciones, hacia arriba y hacia abajo, según la demanda y ejecutarlas de manera eficiente.
Productos y servicios relacionados
Creado por los mismos desarrolladores que crearon Kubernetes, Google Kubernetes Engine (GKE) es un servicio de Kubernetes basado en la nube fácil de usar para ejecutar aplicaciones en contenedores. GKE puede ayudarlo a implementar una estrategia de Kubernetes exitosa para sus aplicaciones en la nube. Con Anthos , Google ofrece una experiencia de Kubernetes uniforme para sus aplicaciones en las instalaciones y en múltiples nubes. Con Anthos, obtiene una forma confiable, eficiente y confiable de ejecutar clústeres de Kubernetes, en cualquier lugar.