Выпуск Kubernetes 1.3, системы управления кластером изолированных контейнеров

2016-07-07

Компания Google опубликовала релиз платформы оркестровки контейнеров Kubernetes 1.3, позволяющей как единым целым управлять кластером Linux-контейнеров, созданных с использованием таких инструментариев как Docker и rkt. Платформа обеспечивает эффективное распределение контейнеров по узлам кластера, производя миграцию в зависимости от изменения нагрузки и потребности в сервисах. Код Kubernetes написан на языке Go и распространяется под лицензией Apache 2.0.

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

Основные новшества:

  • Возможность связывания сервисов, размещённых в разных кластерах и облачных окружениях, обеспечивая географическое разнесение обработчиков, более высокую отказоустойчивость и возможность задействования гибридных облачных окружений (часть узлов может выполняться на своём оборудовании, а часть на арендуемых виртуальных серверах);
  • Поддержка stateful-сервисов, сохраняющих своё состояние (например, БД и хранилища в формате ключ/значение). В stateful-сервисах используется неизменное имя хоста, сохраняющиеся после перезапуска, для каждого контейнера выделяется постоянное дисковое хранилище и привязывается уникальный идентификатор;
  • Значительное упрощён процесс настройки кластера. Добавлены средства для быстрого развёртывания тестовой конфигурации на своей локальной системе. В частности, представлена команда minikube, позволяющая развернуть локальный урезанный кластер, совместимый на уровне API с обычным полноценным кластером Kubernetes, что позволяет после проведения локального тестирования переносить приложения в рабочую конфигурацию;
  • Расширены средства для автоматического масштабирования кластера, с задействованием или высвобождением узлов в зависимости от изменения нагрузки на приложение. Удвоено максимально допустимое число узлов в кластере;
  • Добавлена поддержка инструментария rkt, а также стандартов OCI (Open Container Initiative) и CNI (Container Network Interface);
  • Обновлён web-интерфейс, который теперь можно использовать для решения большинства задач, ранее требующих применения интерфейса командной строки. Через web-интерфейс можно управлять, редактировать и создавать любые ресурсы, в том числе развёртывания и PetSet-ы;
  • Добавлена поддержка распределения ресурсов GPU NVIDIA.