Kubernetes se factura como un contenedor de clúster "planificador / orquestador", 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 implementa allí. Pero eso es solo mi suposición, y no he visto ninguna palabrería concreta en su documentación para respaldar eso.
Entonces, ¿qué es Kubernetes exactamente y cuáles son algunos problemas específicos que resuelve?
docker
kubernetes
smeeb
fuente
fuente
Respuestas:
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 verificar el estado y replicar su aplicación en estas máquinas, así como servicios para conectar su aplicación a microservicios para que cada capa de su aplicación se desacople de otras capas para que pueda escalarlas / actualizarlas / mantenerlas independientemente.
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 una separación de preocupaciones, donde un sistema de orquestación se preocupa por cómo ejecutar su aplicación y le preocupa El código que conforma su aplicación.
fuente
Como lees de su página de Github :
Para mí, Kubernetes es una herramienta de orquestación de contenedores de Google. Debido a su diseño, puede implementar la compatibilidad con cualquier motor de contenedor, pero creo que ahora está limitado a Docker. Hay algunos conceptos importantes en su arquitectura:
Entonces, tiene un grupo de máquinas que forman un clúster donde se ejecutan sus contenedores. También puede definir un grupo de contenedores que brindan un servicio, de manera similar a como lo hace con otras herramientas como la fig (es decir: el pod de webapp puede ser un servidor rails y una base de datos postgres). También tiene otras herramientas para garantizar una serie de contenedores / pods de un servicio que se ejecuta al mismo tiempo, un almacén de valores clave, 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.
fuente
Kubernetes ofrece casi la misma funcionalidad que las API de infraestructura como servicio, pero está dirigido a contenedores programados dinámicamente en lugar de máquinas virtuales, y como sistemas de plataforma como servicio, pero con una mayor flexibilidad, que incluye:
Si ya usa otros mecanismos para el descubrimiento 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 de los sistemas IaaS y PaaS existentes al proporcionar esto funcionalidad
https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/#why-do-i-need-kubernetes-and-what-can-it-do
fuente