¿Qué hace Kubernetes en realidad? [cerrado]


Kubernetes se factura como un clúster contenedor "scheduler/orchestrator", pero no tengo idea de lo que esto significa. Después de leer el sitio de Kubernetes y el wiki (vago) de GitHub, lo mejor que puedo decir es que de alguna manera descubre qué máquinas virtuales están disponibles/son capaces de ejecutar su contenedor Docker, y luego las despliega allí. Pero eso es solo mi suposición, y no he visto ninguna verborrea concreta en su documentación para apoyar eso.

Entonces, ¿qué es Kubernetes, exactamente, ¿y cuáles son algunos problemas específicos que resuelve?

Author: mmoya, 2015-01-22

3 answers

El propósito de Kubernetes es facilitar la organización y programación de su aplicación en una flota de máquinas. En un nivel alto es un sistema operativo para su clúster.

Básicamente, le permite no preocuparse por qué máquina específica en su centro de datos se ejecuta cada aplicación. Además, proporciona primitivas genéricas para comprobar el estado y replicar su aplicación en estas máquinas, así como servicios para cablear su aplicación en microservicios que cada capa de su aplicación esté desacoplada de otras capas para que pueda escalarlas/actualizarlas/mantenerlas de forma independiente.

Si bien es posible hacer muchas de estas cosas en la capa de aplicación, tales soluciones tienden a ser únicas y frágiles, es mucho mejor tener separación de preocupaciones, donde un sistema de orquestación se preocupa por cómo ejecutar su aplicación, y usted se preocupa por el código que compone su aplicación.

 76
Author: brendan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-22 18:03:18

Como lees en su página de Github :

Kubernetes es un sistema de código abierto para la gestión de contenedores aplicaciones en múltiples hosts, proporcionando mecanismos básicos para implementación, mantenimiento y escalado de aplicaciones.

Kubernetes es:

lean: lightweight, simple, accessible
portable: public, private, hybrid, multi cloud
extensible: modular, pluggable, hookable, composable
self-healing: auto-placement, auto-restart, auto-replication

Kubernetes se basa en una década y media de experiencia en Google ejecutar cargas de trabajo de producción a escala, combinadas con lo mejor de su clase ideas y prácticas de la comunidad.

Para mí Kubernetes es una herramienta de orquestación de contenedores de Google. Debido a su diseño se puede implementar la compatibilidad con cualquier motor de contenedores, pero creo que ahora se limita a Docker. Hay algunos conceptos importantes en su arquitectura:

Kubernetes trabaja con los siguientes conceptos:

Los clústeres son los recursos informáticos sobre los que se encuentran los contenedores desarrollado. Kubernetes puede correr en cualquier lugar! Consulte las Guías de Introducción para instrucciones para una variedad de servicios.

Los Pods son un grupo compartido de contenedores Docker con volúmenes compartidos. Son las unidades desplegables más pequeñas que se pueden crear, programar, y gestionado con Kubernetes. Los Pods se pueden crear individualmente, pero se recomienda usar un controlador de replicación incluso si creando un solo pod. Más sobre las vainas.

Los controladores de replicación administran el ciclo de vida de los pods. Se aseguran de que se está ejecutando un número especificado de pods en cualquier momento dado, creando o matar vainas según sea necesario. Más información sobre los controladores de replicación.

Los servicios proporcionan un nombre y una dirección únicos y estables para un conjunto de pods. Actúan como equilibradores de carga básicos. Más sobre servicios.

Las etiquetas se utilizan para organizar y seleccionar grupos de objetos basados en clave: pares de valores. Más sobre etiquetas.

Por lo tanto, tiene un grupo de máquinas que forma un clúster donde se ejecutan sus contenedores. También puede definir un grupo de contenedores que proporcionan un servicio, de forma similar a lo que haces con otras herramientas como fig (es decir: webapp pod puede ser un servidor rails y una base de datos postgres). También tiene otras herramientas para garantizar un número de contenedores / pods de un servicio que se ejecuta al mismo tiempo, un almacén de clave-valor, una especie de equilibrador de carga incorporado...

Si sabes algo sobre coreos, es una solución muy similar pero de Google. Algo Kubernetes tiene una buena integración con Google Cloud Engine.

 13
Author: Javier Cortejoso,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-22 11:37:01

Kubernetes proporciona gran parte de la misma funcionalidad que las API de Infraestructura como servicio, pero dirigidas a contenedores programados dinámicamente en lugar de máquinas virtuales, y como sistemas de Plataforma como servicio, pero con mayor flexibilidad, incluyendo:

  • montaje de sistemas de almacenamiento,
  • distribuir secretos,
  • comprobación del estado de la aplicación,
  • replicando instancias de aplicación,
  • escalado automático horizontal,
  • naming and discovery,
  • cargar equilibrio,
  • actualizaciones continuas,
  • monitoreo de recursos,
  • log acceso e ingestión,
  • soporte para introspección y depuración, y
  • identidad y autorización.

Si ya utiliza otros mecanismos para la detección de servicios, distribución secreta, equilibrio de carga, monitoreo, etc., por supuesto, puede continuar usándolos, pero nuestro objetivo es facilitar la transición a Kubernetes desde los sistemas IaaS y PaaS existentes proporcionando esto funcionalidad.

Https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/#why-do-i-need-kubernetes-and-what-can-it-do

 5
Author: briangrant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-31 18:43:22