Как вы читаете со страницы Github :
Kubernetes - это система с открытым исходным кодом для управления контейнеризованными приложениями на нескольких хостах, предоставляющая базовые механизмы для развертывания, обслуживания и масштабирования приложений.
Kubernetes - это:
lean: lightweight, simple, accessible
portable: public, private, hybrid, multi cloud
extensible: modular, pluggable, hookable, composable
self-healing: auto-placement, auto-restart, auto-replication
Kubernetes основывается на полутора десятилетнем опыте работы в Google по масштабированию производственных рабочих нагрузок в сочетании с передовыми идеями и практиками сообщества.
Для меня Kubernetes - это инструмент оркестровки контейнеров от Google. Благодаря его конструкции вы можете реализовать совместимость с любым контейнерным движком, но я думаю, что теперь он ограничен Docker. В его архитектуре есть несколько важных концепций:
Kubernetes работает со следующими концепциями:
Кластеры - это вычислительные ресурсы, на основе которых строятся ваши контейнеры. Kubernetes может работать где угодно! См. Руководства по началу работы для получения инструкций по различным услугам.
Поды - это группа контейнеров Docker с общими томами. Это самые маленькие развертываемые единицы, которые можно создавать, планировать и управлять с помощью Kubernetes. Модули можно создавать индивидуально, но рекомендуется использовать контроллер репликации даже при создании одного модуля. Подробнее о стручках.
Контроллеры репликации управляют жизненным циклом подов. Они гарантируют, что определенное количество модулей будет работать в любой момент времени, путем создания или уничтожения модулей по мере необходимости. Подробнее о контроллерах репликации.
Сервисы предоставляют единое стабильное имя и адрес для набора модулей. Они действуют как базовые балансировщики нагрузки. Подробнее об услугах.
Ярлыки используются для организации и выбора групп объектов на основе пар ключ: значение. Подробнее о этикетках.
Итак, у вас есть группа машин, образующих кластер, в котором работают ваши контейнеры. Вы также можете определить группу контейнеров, которые предоставляют услугу, аналогично тому, как вы это делаете с другими инструментами, такими как fig (например, pod webapp может быть сервером rails и базой данных postgres). У вас также есть другие инструменты для обеспечения одновременной работы нескольких контейнеров / подов службы, хранилище ключей и значений, своего рода встроенный балансировщик нагрузки ...
Если вы что-то знаете о coreos, это очень похожее решение, но от Google. Algo Kubernetes имеет хорошую интеграцию с Google Cloud Engine.