¿Qué es kubernetes? | LaComparacion

¿Qué es kubernetes? | LaComparacion

Kubernetes es un sistema de código abierto para gestionar aplicaciones en un entorno de contenedor tecnológico. Kubernetes automatiza los procesos manuales para implementar y escalar aplicaciones en contenedores. También puede gestionar grupos de aplicaciones en contenedores, que pueden abarcar nubes públicas, privadas e híbridas.

El nombre, Kubernetes, está inspirado en la analogía con el barco de contenedores y se basa en él para indicar la palabra griega que se traduce como "timonel", como en la que necesita para pilotar el portacontenedores. Kubernetes también se llama "kube" y "k8s", que es un número, usando la primera letra, la última letra y el número de letras entre esas letras.

Índice
  1. Historia de los kubernetes
  2. Despliegue de Kubernetes
  3. Características de Kubernetes
  4. Aplicaciones reales de Kubernetes

Historia de los kubernetes

Además de la etiología de las palabras, Kubernetes fue creado originalmente por Google, ya que nació de un proyecto interno de Borg, con contenedores que alimentan la tecnología Google Cloud. De hecho, Google afirma tener experiencia con contenedores durante más de quince años, y afirma "ejecutar miles de millones de contenedores por semana", lo que les ha dado mucha experiencia en este software. Kubernetes fue donado a la Fundación Linux como tecnología semilla, para formar la Fundación de Computación Nativa de la Nube (CNCF) en 2015.

Aunque Kubernetes es un proyecto de código abierto, cuenta con el respaldo oficial de Microsoft Azure y Google Cloud. Kubernetes ganó aceptación inicial entre los primeros usuarios, lo que ha resultado en un crecimiento constante y ahora ocupa una posición de liderazgo en el espacio de software de administración de contenedores.

Hoy en día, el uso de varios contenedores para una aplicación de producción real se ha vuelto común, los contenedores se distribuyen en varios servidores. El software Kubernetes permite que estos contenedores se implementen y escalen en varios servidores para que coincidan con la carga de trabajo, incluida la programación de contenedores en un clúster. También puede ayudar a administrar la salud de estos múltiples contenedores.

Contenedores de envío

(Crédito de la imagen: Pixabay)

Despliegue de Kubernetes

Kubernetes se implementa para un grupo de contenedores, que se denomina clúster. Uno de los contenedores del clúster se designa como el maestro del clúster, que ejecuta los procesos del plano de control de Kubernetes. Los otros contenedores en el clúster se asignan como nodos, que son las máquinas de trabajo, que informan al maestro del clúster, que funciona como un punto final unificado.

El maestro de clúster tiene control total de sus nodos, designando su ciclo de vida, incluida la evaluación de su salud, así como el control de actualizaciones y reparaciones para cada nodo. En el clúster, puede haber contenedores especiales, que son designados como agentes por nodo con funciones específicas, por ejemplo, recopilación de registros o conectividad de red dentro del clúster.

El valor predeterminado para un nodo es tener un procesador virtual y 3.75 GB de RAM, que es el tipo de máquina estándar de Compute Engine. Para tareas más intensivas en informática, se puede elegir una plataforma de CPU mínima básica más alta. Tenga en cuenta que no todos los recursos del nodo pueden ser utilizados por la aplicación que está diseñada para ejecutarse. Por el contrario, algunos de estos recursos son necesarios para ejecutar el motor Kubernetes. Los recursos asignables del nodo, que se pueden usar para ejecutar la aplicación, son la diferencia entre los recursos totales y la cantidad reservada para el motor de Kubernetes.

Como ejemplo, si el nodo tiene 4 GB de RAM disponibles, el 25% está reservado para el motor Kubernetes, y el 75% restante se puede usar para ejecutar la aplicación y solo requiere 20% de los siguientes 4 GB de RAM si el nodo tiene un total de 8 GB de RAM. El motor Kubernetes usa menos recursos de CPU, reservando solo el 6% de la potencia de procesamiento del primer núcleo del nodo, y solo el 1% de un segundo núcleo designado para el nodo.

El maestro de clúster ejecuta el Servidor API de Kubernetes, que maneja las solicitudes de las llamadas API de Kubernetes del software Kubernetes. El servidor API de Kubernetes funciona como el "centro de comunicación" para todo el clúster de contenedores.

Características de Kubernetes

Su robusto conjunto de características contribuye a la popularidad de Kubernetes. Estos incluyen:

  • Empaquetado automático: esto automatiza la ubicación de los contenedores en función del uso más eficiente de los recursos.
  • Escalado horizontal: las aplicaciones se pueden escalar hacia arriba o hacia abajo mediante un solo comando o automatizarse para que coincida con el uso de la CPU.
  • Implementaciones y restauraciones automatizadas: Kubernetes implementa actualizaciones de actualizaciones de aplicaciones en etapas, en lugar de hacerlo todo a la vez, y monitorea los problemas de integridad, y si se encuentran, se restaurado automáticamente a una versión más estable para preservar la disponibilidad.
  • Orquestación de almacenamiento: funciona con una variedad de soluciones de almacenamiento para una flexibilidad adicional, desde la nube local hasta la nube pública.
  • Autorreparación: la capacidad de matar contenedores que se congelan y reiniciar contenedores que se congelan o fallan su control de salud.
  • Descubrimiento de servicios y equilibrio de carga: Kubernetes puede asignar a cada contenedor su propia dirección IP, con un nombre DNS, y la capacidad de distribuir la carga entre ellos.
  • Confidencialidad y gestión de la configuración: las aplicaciones se pueden actualizar sin reconstrucción de imagen.
  • Ejecución por lotes: gestión de la carga de trabajo por lotes e integración continua.

Aplicaciones reales de Kubernetes

Kubernetes es utilizado por las principales compañías, incluidas Comcast, eBay, Goldman Sachs, The New York Times y Pokemon Go, entre otras. Un ejemplo de uso de Kubernetes es el proveedor de video Sling TV, que, después de su lanzamiento en 2015, encontró problemas cuando los nuevos suscriptores excedieron sus recursos existentes al intentar distribuir televisión por directo a través de Internet. Para mejorar la experiencia de sus clientes y en aras de una mayor flexibilidad, por ahora y en el futuro, se decidió cambiar a una estrategia de nube híbrida. Utilizaba un centro de datos multisitio VMWare en el sitio, integrado con varias nubes públicas y controlado a través del motor Kubernetes.

Según Brad Linder, su Evangelista nativo y Big Data en Sling TV, "llegamos al lugar donde podemos con un solo clic desplegar un centro de datos completo: la red para computar, registrar y monitorear todas las aplicaciones ". señalar que implementar una nueva aplicación solía llevar días, lo que ahora se puede lograr en aproximadamente una hora a través del motor Kubernetes.

Si bien Kubernetes tiene orígenes modestos como proyecto interno en Google, se ha convertido en un jugador dominante en el software de gestión de contenedores, sin duda favorecido por su enfoque de código abierto. La potencia y flexibilidad del motor Kubernetes explica por qué se usa en muchas industrias diversas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir