Что такое Kubernetes?

Kate

Administrator
Команда форума
Kubernetes — это программное обеспечение оркестрации с открытым кодом для развертывания контейнеров, управления ими и их масштабирования.

Описание Kubernetes​

Современные приложения все чаще создаются с применением контейнеров. Это микрослужбы, укомплектованные зависимостями и конфигурациями. Kubernetes (произносится "ку-бер-не-тис") — это программное обеспечение с открытым кодом для развертывания контейнеров и управления ими в большом масштабе, а также греческое слово, означающее "кормчий", "рулевой". Kubernetes (иногда также используется название k8s или k-eights) сокращает время сборки, поставки и масштабирования контейнерных приложений.

Как работает Kubernetes​

По мере того как приложения растут и начинают включать контейнеры, развернутые на разных серверах, работать с ними становится все сложнее. Для решения этой проблемы Kubernetes предоставляет API с открытым исходным кодом, который контролирует, как и где такие контейнеры будут выполняться.

Kubernetes позволяет координировать кластеры виртуальных машин и планировать запуск контейнеров на таких виртуальных машинах в зависимости от доступных вычислительных ресурсов и потребностей в них каждого контейнера. Контейнеры объединяются в группы, называемые pod (основная единица операций в Kubernetes), которые масштабируются до нужного состояния.

Kubernetes также автоматически управляет обнаружением служб, добавляет балансировку нагрузки, отслеживает выделение ресурсов и масштабирует их в зависимости от использования вычислений. Кроме того, платформа проверяет работоспособность отдельных ресурсов и обеспечивает самостоятельное восстановление приложений за счет автоматического перезапуска или репликации контейнеров.


Зачем использовать Kubernetes?​

Поддержание работы контейнерных приложений — непростая задача, потому что в них часто задействовано множество контейнеров, развернутых на разных компьютерах. Платформа Kubernetes позволяет планировать запуск и развертывание таких контейнеров, а также масштабировать их до требуемого состояния и управлять их жизненным циклом. Она обеспечивает переносимость, масштабируемость и расширяемость при реализации приложений на основе контейнеров.


portability.svg

Переносимость рабочих нагрузок​

Так как контейнерные приложения отделены от инфраструктуры, они становятся переносимыми при запуске в Kubernetes. Их можно перемещать с локальных компьютеров в локальные, гибридные или многооблачные рабочие среды, сохраняя согласованность между этими средами.
scalability.svg

Простое масштабирование контейнеров​

Определяйте комплексные контейнерные приложения и развертывайте их с помощью Kubernetes в кластере серверов и даже в нескольких кластерах. При масштабировании приложений в Kubernetes до нужного состояния мониторинг и поддержание работоспособности контейнеров выполняются автоматически.
extensibility.svg

Создание приложений с дополнительными возможностями расширения​

Многочисленное сообщество, состоящее из разработчиков и компаний, работающих с открытым кодом, активно создает расширения и подключаемые модули, которые позволяют добавлять в Kubernetes такие возможности, как обеспечение безопасности, мониторинг и управление. Кроме того, согласно требованиям программы Certified Kubernetes Conformance Program каждая версия Kubernetes должна поддерживать API-интерфейсы, гарантирующие простое использование этих предложений сообщества.

Источник статьи: https://azure.microsoft.com/
 
Сверху