Ir a

¿Qué es Kubernetes?

A raíz de la adopción generalizada de los contenedores en las organizaciones, Kubernetes, el software de gestión específico para contenedores, se ha convertido en el estándar de facto para desplegar y utilizar aplicaciones en contenedores. Kubernetes tiene su origen en Google Cloud, ya que lo desarrollamos en Google y lo publicamos como software libre en el 2014. Kubernetes cuenta con el aval de 15 años de ejecución de cargas de trabajo en contenedores de Google y las valiosas aportaciones de la comunidad de código abierto. Kubernetes se basa en Borg, el sistema interno de Google para gestionar clústeres, y facilita todas las tareas relacionadas con el despliegue y la gestión de las aplicaciones. Este software orquesta los contenedores de forma automática, de manera que mejora la fiabilidad y reduce tanto el tiempo como los recursos que se destinan a las operaciones diarias.

Más información sobre Google Kubernetes Engine (GKE), el servicio gestionado de Kubernetes de Google Cloud

Definición de Kubernetes

Kubernetes es un sistema de código abierto que permite desplegar, escalar y gestionar aplicaciones en contenedores en cualquier lugar. Para referirse a él, se usa a veces la abreviatura "K8s", en la que el 8 indica el número de letras que hay entre la "K" y la "s".

Kubernetes automatiza las tareas operativas de la gestión de los contenedores e integra comandos para desplegar aplicaciones, aplicarles cambios, ampliarlas o reducirlas según las necesidades del momento, monitorizarlas y realizar muchas más acciones. En definitiva, hace que te resulte más fácil gestionar las aplicaciones.

¿Cuáles son las ventajas de Kubernetes?

Operaciones automáticas

Los comandos integrados de Kubernetes se ocupan de muchas de las tareas tediosas que implica gestionar las aplicaciones. Por eso, puedes automatizar las operaciones rutinarias para que las aplicaciones se ejecuten en todo momento tal y como quieres.

Abstracción de la infraestructura

Cuando instalas Kubernetes, se encarga de la computación, las redes y el espacio de almacenamiento que afectan a las cargas de trabajo. Así, los desarrolladores pueden centrarse en las aplicaciones y desentenderse del entorno subyacente.

Monitorización del estado de los servicios

Kubernetes hace continuas comprobaciones del estado de los servicios y, en su caso, reinicia los contenedores que han fallado o se han interrumpido. Además, solo pone los servicios a disposición de los clientes después de confirmar que se están ejecutando.

¿Kubernetes o Docker?

Kubernetes y Docker se suelen malinterpretar como alternativas mutuamente excluyentes. Sin embargo, son tecnologías complementarias para ejecutar aplicaciones en contenedores.

Docker te permite incluir todo lo que necesitas para ejecutar tus aplicaciones en un contenedor que puedes almacenar y abrir cuando y donde te haga falta. Ahora bien, en cuanto empiezas a usar esos contenedores, tienes que gestionarlos de algún modo. Ahí entra en escena Kubernetes.

Kubernetes es la palabra griega para designar al "capitán". Al igual que el capitán es el responsable de que la travesía sea plácida y el barco llegue a buen puerto, Kubernetes se encarga de transportar los contenedores y entregarlos sin incidentes en las ubicaciones donde se pueden utilizar.

  • Puedes utilizar Kubernetes con Docker, pero también sin esta plataforma.
  • Docker no es una alternativa a Kubernetes. No tienes que elegir entre uno u otro. Puedes usar Kubernetes con Docker para empaquetar las aplicaciones en contenedores y ejecutarlas a escala.
  • Docker y Kubernetes se diferencian en el papel que cada uno desempeña a la hora de empaquetar aplicaciones en contenedores y ejecutarlas.
  • Docker es un estándar de código abierto del sector para empaquetar y distribuir aplicaciones en contenedores.
  • Kubernetes utiliza Docker para desplegar, gestionar y escalar aplicaciones en contenedores.

¿Para qué se usa Kubernetes?

Kubernetes permite crear aplicaciones fáciles de gestionar y desplegar en cualquier lugar. Si utilizas el servicio gestionado, tienes a tu disposición toda una variedad de soluciones para satisfacer cualquier necesidad. A continuación se indican algunos de los usos más habituales.

Agilizar el desarrollo

Kubernetes te ayuda a desarrollar aplicaciones nativas de la nube basadas en microservicios y empaquetar en contenedores las aplicaciones que ya tienes. Por lo tanto, puedes usarlo como base para modernizar las aplicaciones y desarrollarlas de forma más rápida.

Desplegar aplicaciones en cualquier lugar

Kubernetes se ha diseñado de modo que se puede utilizar en cualquier parte. Por eso, puedes ejecutar tus aplicaciones en despliegues en las instalaciones, nubes públicas o entornos híbridos, es decir, allá donde las necesites.

Ejecutar servicios eficientes

Kubernetes ajusta automáticamente los clústeres al tamaño preciso para ejecutar los servicios. Así, las aplicaciones también se adaptan de forma automática a la demanda y se ejecutan de manera eficiente.

GKE es un servicio de Kubernetes creado por sus mismos desarrolladores, basado en la nube y muy fácil de usar que sirve para ejecutar aplicaciones en contenedores. GKE te ayuda a poner en práctica una estrategia de Kubernetes eficaz para tus aplicaciones en la nube. Con Anthos, Google te ofrece una experiencia de Kubernetes uniforme con tus aplicaciones on‑premise y en diversas nubes. Gracias a Anthos, dispones de un método fiable, eficiente y seguro para ejecutar clústeres de Kubernetes en cualquier lugar.