DevOps

Qué es Kubernetes

Aprende qué es Kubernetes y sus principales soluciones que nos ofrece esta herramienta especializada en la gestión de cargas de trabajo y servicios en contenedores, que facilita la automatización

Publicado el 19 de Junio de 2018
Compartir

Evolución de Kubernetes

Kubernetes es un proyecto de software libre que nació en 2014, de la mano de Joe Beda, Craig McLuckie y Brendan Burns, todos ellos ingenieros de Google. Comenzaron desarrollando Kubernetes a partir de una herramienta interna de Google, llamada Borg. En poco tiempo tuvo bastante acogida, tanto que muchos otros ingenieros de Google comenzaron a trabajar sobre esta herramienta.

A mediados de 2015, aproximadamente, Google sacó Kubernetes a la luz, asociándose con The Linux Foundation, para promover el uso de esta herramienta como semilla. Esto quiere decir que muchos otros proyectos han hecho uso de Kubernetes para sacar sus propias herramientas, siendo el más famoso a día de hoy OpenShift de Red Hat, que provee una interfaz gráfica para gestionar todo Kubernetes.

Qué es Kubernetes

Kubernetes se entiende como un orquestador de contenedores. El engine de estos contenedores puede ser variable, ya que normalmente se emplea Docker, pero también se utiliza bastante CRI-O.

Lo que intenta solucionar Kubernetes, sobre todo, son los problemas ocasionados de los procesos manuales, que están involucrados en la implementación y escalabilidad de las aplicaciones que corremos en estos contenedores.

logo Qué es Kubernetes

Normalmente, en producción estas aplicaciones constan de varios contenedores, que pueden estar alojados en distintos hosts de servidores y no tenemos por qué tener visibilidad directa con ellos. Con Kubernetes se pueden crear servicios de aplicaciones que abarcan varios contenedores, se pueden programar en un cluster, escalar y administrar el estado de dichos contenedores.

Entonces, con Kubernetes lo que se trata de solucionar es el problema de proliferación de contenedores, porque podemos mantener el número de contenedores que queremos, podemos escalarlo en caso de necesidad o podemos reducirlo en caso de que ya no hagan falta.

Soluciones que ofrece Kubernetes

Entre las soluciones que ofrece Kubernetes destacamos las siguientes:

  • Orquestar contenedores en varios hosts.
  • Optimizar el consumo de los recursos de hardware.
  • Controlar y automatizar las implementaciones y actualizaciones de las aplicaciones implementadas.
  • Añadir almacenamiento para ejecutar aplicaciones con estado.
  • Escalar aplicaciones de contenedores o aumentar sobre la marcha los recursos que están consumiendo los mismos.
  • Administrar servicios de forma declarativa, garantizando así que las aplicaciones implementadas siempre se ejecuten en el mismo nodo en el que se implementaron.
  • Realizar comprobaciones de estado y de auto regeneración de las aplicaciones con ubicación, reinicio, replicación y escalamiento automático.
Resumiendo, Kubernetes es realmente un paso más allá, una evolución, de lo que serían los contenedores, lo que sería Docker.

Si ya tienes conocimientos de Kubernetes y quieres ir un paso más allá, te proponemos realizar el curso de Kubernetes para desarrolladores, con el que podrás completar tu formanción en esta tecnología.

Otras herramientas similares a Kubernetes

Kubernetes no es la única herramienta de este tipo en el mercado, aunque si es la más utilizada. Existen otras alternativas como pueden ser:

  • Docker Swarm: Es la solución nativa de Docker. Históricamente Kubernetes salió antes que Docker Swarm y al principio Docker no daba soporte para Kubernetes. Pasados unos años se vieron obligados a dar soporte nativo porque el mercado que acaparaba Kubernetes era mucho mayor que el de Docker Swarm.
  • Marathon: Es un orquestador de Mesos, y es la segunda alternativa más famosa.

Si eres administrador de sistemas, este curso gratuito te interesa para conocer la evolución natural que están siguiendo algunos profesionales como tú.

cta-curso-devops

También puedes visitar el Centro de recursos, encontrarás las últimas guías, ebooks y webinars de programación, sistemas y gestión de talento IT.


Compartir este post

También te puede interesar...

Kubernetes para desarrolladores

Curso de Kubernetes para desarrolladores

3 horas y 26 minutos · Curso

Con este curso de Kubernetes para desarrolladores aprenderás a desarrollar aplicaciones para ser ejecutadas en el orquestador de contenedores más popular a día de hoy.

  • Contenedores
Tecnología

Cómo desplegar una aplicación en Kubernetes

27 Junio 2018 Carlos Álvarez
Tecnología

Ventajas de usar Kubernetes

26 Junio 2018 Carlos Álvarez
Artículos
Ver todos