Cloud Development Technology
kubernetes Oncloud

Introducción

Uno de los conceptos o tecnologías de moda y con más éxito alrededor de dockers/contenedores es sin duda Kubernetes, una tecnología creada por Google y sirve para la gestión y orquestación de contenedores Docker. Google utiliza Dockers para muchos de sus servicios como Gmail o Maps.

Lo que permite esta tecnología es que te olvides de la infraestructura y pienses tan solo en aplicaciones y en cómo empaquetarlas.

¿Qué es Kubernetes?

Es una plataforma portable y extensible de código abierto para administrar cargas de trabajo y servicios. Además, facilita la automatización y la configuración declarativa. Tiene un ecosistema grande y en rápido crecimiento. El soporte, las herramientas y los servicios están ampliamente disponibles.

¿Por qué la necesito y qué puede hacer por mi?

Esta tecnología tiene varias características. Puedes pensar en Kubernetes como una plataforma de:

  • Contenedores
  • Microservicios
  • Portable de nube y mucho más.

Además, ofrece un entorno de administración centrado en contenedores y orquesta la infraestructura de cómputo, redes y almacenamiento para que las cargas de trabajo de los usuarios no tengan que hacerlo. Esto ofrece la simplicidad de las Plataformas como Servicio (PaaS) con la flexibilidad de la Infraestructura como Servicio (IaaS) y permite la portabilidad entre proveedores de infraestructura.

¿Qué hace de Kubernetes una plataforma?

Kubernetes fue diseñada como una plataforma para poder construir un ecosistema de componentes y herramientas que hacen más fácil el desplegar, escalar y administrar aplicaciones.

Las etiquetas le permiten a los usuarios organizar sus recursos como deseen. Las anotaciones les permiten asignar información arbitraria a un recurso para facilitar sus flujos de trabajo y hacer más fácil a las herramientas administrativas inspeccionar el estado.



Conceptos clave

Objetos de Kubernetes

Los objetos básicos de Kubernetes incluyen:

También contiene abstracciones de nivel superior llamadas Controladores. Los Controladores se basan en los objetos básicos y proporcionan funcionalidades adicionales sobre ellos. Incluyen:

Plano de control de Kubernetes

Los distintos componentes del Plano de Control, tales como el Master de Kubernetes y el proceso kubelet, gobiernan cómo Kubernetes se comunica con el clúster. El Plano de Control mantiene un registro de todos los Objetos de Kubernetes presentes en el sistema y ejecuta continuos bucles de control para gestionar el estado de los mismos. En un momento dado, los bucles del Plano de Control responderán a los cambios que se realicen en el clúster y ejecutarán las acciones necesarias para hacer que el estado actual de todos los objetos del sistema converjan hacia el estado deseado que has proporcionado.

Por ejemplo, cuando usas la API de Kubernetes para crear un Deployment, estás proporcionando un nuevo estado deseado para el sistema. El Plano de Control registra la creación del objeto y lleva a cabo tus instrucciones ejecutando las aplicaciones requeridas en los nodos del clúster, haciendo de esta manera que el estado actual coincida con el estado deseado.

El máster de Kubernetes

Es el responsable de mantener el estado deseado de tu clúster. Cuando interactuas con Kubernetes, como por ejemplo cuando utilizas la interfaz de línea de comandos kubectl, te estás comunicando con el master de tu clúster de Kubernetes.

Por «master» entendemos la colección de daemons que gestionan el estado del clúster. Típicamente, estos daemons se ejecutan todos en un único nodo del clúster, y este nodo recibe por tanto la denominación de master. El master puede estar replicado por motivos de disponibilidad y redundancia.

Kubernetes Nodes

En un clúster de Kubernetes, los nodos son las máquinas (máquinas virtuales, servidores físicos, etc) que ejecutan tus aplicaciones y flujos de trabajo en la nube. El master de Kubernetes controla cada nodo, por lo que en raras ocasiones interactuarás con los nodos directamente.

OnCloud

Conclusión

Kubernetes es una tecnología que está cada vez más presente en todas las empresas del mundo, facilita tener un control de la infraestructura, la seguridad, el despliegue, etc… En resumen, nos hace la vida más fácil.

// ¿Quieres implementar esta tecnología?

Contacta con nosotros

Author

Marco Sanz

Leave a comment

Tu dirección de correo electrónico no será publicada.