Como lees de su página de Github :
Kubernetes es un sistema de código abierto para administrar aplicaciones en contenedores en varios hosts, que proporciona mecanismos básicos para la 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 experiencia de una década y media en Google ejecutando cargas de trabajo de producción a escala, combinado con las mejores 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, puede implementar la compatibilidad con cualquier motor de contenedor, pero creo que ahora está limitado 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 cuales se construyen sus contenedores. ¡Kubernetes puede correr en cualquier lugar! Consulte las Guías de inicio para obtener instrucciones sobre una variedad de servicios.
Los pods son un grupo colocado de contenedores Docker con volúmenes compartidos. Son las unidades desplegables más pequeñas que se pueden crear, programar y administrar con Kubernetes. Los pods se pueden crear individualmente, pero se recomienda que use un controlador de replicación incluso si crea 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 ejecute un número específico de pods en un momento dado, creando o eliminando los pods 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 pares clave: valor. Más sobre etiquetas.
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.