Con la amplia adopción de los contenedores en las organizaciones, Kubernetes, el software de administración centrado en contenedores, se convirtió en el estándar para implementar y operar aplicaciones alojadas en contenedores. Google Cloud es la base de Kubernetes, que originalmente se desarrolló en Google y se lanzó como código abierto en 2014. Kubernetes se desarrolló sobre la base de la experiencia de 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 administración de clústeres interno de Google, Borg, Kubernetes facilita todo lo asociado con la implementación y la administración de tu aplicación. Mediante la organización automática de contenedores, Kubernetes mejora la confiabilidad y reduce el tiempo y los recursos asociados a las operaciones diarias.
Kubernetes (a veces abreviado como K8s; el 8 representa la cantidad de letras entre la “K” y la “s”) es un sistema de código abierto para implementar, escalar y administrar aplicaciones alojadas en contenedores en cualquier lugar.
Kubernetes automatiza las tareas operativas de la administración de contenedores e incluye comandos integrados para implementar aplicaciones, actualizarlas, escalarlas a fin de que se ajusten a tus necesidades, supervisarlas y mucho más. Todo esto facilita la administración de las aplicaciones.
A medida que las aplicaciones se escalan en varios contenedores y servidores, Kubernetes ayuda a simplificar la administración. Organiza los Deployments con una API de código abierto, agrupando los contenedores en Pods para escalar en función de la demanda y la disponibilidad de recursos. Kubernetes también automatiza el descubrimiento de servicios, el balanceo de cargas y la asignación de recursos, y supervisa el estado para habilitar la autorecuperación mediante el reinicio o la replicación de contenedores.
Para los desarrolladores empresariales, aquí hay un desglose paso a paso de cómo funciona Kubernetes:
Operaciones automatizadas
Kubernetes cuenta con comandos integrados para manejar gran parte del trabajo pesado que forma parte de la administración de aplicaciones, lo que te permite automatizar las operaciones del día a día. Puedes asegurarte de que las aplicaciones siempre se ejecuten de la manera que planeaste.
Abstracción de la infraestructura
Cuando instalas Kubernetes, se encarga del procesamiento, las herramientas de redes y el almacenamiento en nombre de tus cargas de trabajo. Esto les permite a los desarrolladores enfocarse en las aplicaciones y no preocuparse por el entorno subyacente.
Supervisión del estado de los servicios
Kubernetes ejecuta verificaciones de estado de manera continua en los servicios, reinicia los contenedores con errores o que se detuvieron y solo pone los servicios a disposición de los usuarios una vez que confirmó que se están ejecutando.
Uso de recursos optimizado
Kubernetes optimiza el uso de recursos empaquetando contenedores de manera eficiente en nodos según sus requisitos. Esto, a su vez, ayuda a reducir los recursos desperdiciados y los costos de infraestructura.
Administración simplificada de aplicaciones
Optimiza la administración de aplicaciones con Kubernetes. Kubernetes ofrece un enfoque uniforme para implementar, actualizar y administrar aplicaciones de diferentes complejidades.
Portabilidad mejorada
Kubernetes es una plataforma de código abierto que se ejecuta de manera coherente en diversos entornos, desde centros de datos locales hasta nubes públicas, lo que proporciona flexibilidad y portabilidad a las empresas.
Muchas veces se interpreta que debe elegirse uno o el otro; sin embargo, si bien Kubernetes y Docker son tecnologías muy diferentes, son complementarias para ejecutar aplicaciones en contenedores.
Docker te permite colocar todo lo necesario para ejecutar tu aplicación en una caja que puede almacenarse y abrirse cuando y donde sea necesario. Una vez que comienzas a hacer esto con tus aplicaciones, debes encontrar la forma de administrar dichas cajas; esa es la función de Kubernetes.
Kubernetes es una palabra griega que significa “capitán” en español. Así como el capitán es responsable de navegar el barco de forma segura en el mar, Kubernetes es responsable de trasladar y entregar las cajas de forma segura a las ubicaciones en las que puedan usarse.
Kubernetes se usa para crear aplicaciones fáciles de administrar e implementar en cualquier lugar. Cuando está disponible como un servicio administrado, Kubernetes te ofrece una variedad de soluciones según tus necesidades. Estos son algunos de los casos de uso más comunes.
Kubernetes te ayuda a compilar apps basadas en microservicios y nativas de la nube. También admite la creación de contenedores de apps existentes, por lo que se convierte en la base de la modernización de aplicaciones y te permite desarrollar apps más rápido.
Kubernetes está diseñado para usarse en cualquier lugar, lo que te permite ejecutar aplicaciones entre implementaciones locales y nubes públicas, al igual que en implementaciones híbridas. Por esta razón, puedes ejecutar tus aplicaciones en el lugar que las necesites.
De forma automática, Kubernetes puede ajustar el tamaño de un clúster necesario para ejecutar un servicio. Esto te permite escalar verticalmente tus aplicaciones de forma automática en función de la demanda y ejecutarlas de manera eficiente.
Explora estas preguntas frecuentes sobre Kubernetes
Un clúster de Kubernetes consta de nodos (máquinas virtuales o físicas) que ejecutan aplicaciones alojadas en contenedores organizadas por Kubernetes.
Un Pod de Kubernetes, la unidad más pequeña que se puede implementar, aloja uno o más contenedores, lo que representa una única instancia de un proceso en ejecución.
Un Deployment de Kubernetes garantiza el estado deseado de la aplicación administrando réplicas y actualizaciones fluidas.
Un Service es un objeto de Kubernetes que proporciona una dirección IP estable y un nombre de DNS para tu aplicación, lo que permite que otras aplicaciones accedan a ella.
Puedes escalar tu aplicación actualizando la cantidad de réplicas en la configuración de tu Deployment. Kubernetes creará o quitará Pods automáticamente para que coincidan con la escala deseada.
Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.