Выпуск Kubernetes 1.6, системы управления кластером изолированных контейнеров
Представлен релиз платформы оркестровки контейнеров Kubernetes 1.6, позволяющей как единым целым управлять кластером Linux-контейнеров, созданных с использованием таких инструментариев как Docker и rkt. Платформа обеспечивает эффективное распределение контейнеров по узлам кластера, производя миграцию в зависимости от изменения нагрузки и потребности в сервисах. Код Kubernetes написан на языке Go и распространяется под лицензией Apache 2.0.
Проект Kubernetes изначально был основан компанией Google и позиционируется как развиваемое сообществом универсальное решение, не привязанное к отдельным системам и способное работать с любыми приложениями в любых облачных окружениях. Предоставляются функции для развертывания и управления инфраструктурой, такие как ведение базы DNS, балансировка нагрузки, проверка работоспособности на уровне приложений, управление аккаунтами, обновление и динамическое масштабирование работающего кластера, без его остановки. Возможно развертывание групп контейнеров с выполнением операций обновлений и отмены изменений сразу для всей группы, а также логическое разбиение кластера на части с разделением ресурсов. Имеется поддержка динамической миграции приложений, для хранения данных которых могут применяться как локальные хранилища, так и сетевые системы хранения.
Kubernetes 1.6 стал первым релизом, подготовленным не под предводительством Google, а объединенной командой разработчиков. В разработке приняли участие представители компаний CoreOS, Microsoft, Red Hat, Heptio, Mirantis и Google, а также индивидуальные участники из сообщества. Основные новшества:
- Задействовано по умолчанию распределенное хранилище параметров конфигурации etcdv3. Применение etcdv3 позволило существенно увеличить масштибруемость - Kubernetes теперь может использоваться в кластерах, насчитывающих до 5000 узлов;
- Переведены в разряд стабильных средства для динамического выделения места в хранилище;
- Началось бета-тестирование поддержки разграничения доступа на основе ролей (RBAC). RBAC предоставляет дополнительный уровень безопасности, позволяющий гранулировано распределять привилегии в кластере на уровне предоставления отдельным пользователям доступа к различным компонентам, контроллерам и узлам кластера.
- Платформа избавлена от прямой зависимости от конкретных runtime для запуска контейнеров. Пользователям предоставлена возможность использования runtime, отличных от Docker, в том числе rkt и CRI-O.
- Инструмент запуска кластера kubeadm переведен на стадию бета-тестирования. Все сетевое взаимодействие теперь производится только через TLS. Добавлена возможность установки плагинов для авторизации и управления токенами;
- Инструмент для объединения систем (Federation) kubefed переведен на стадию бета-тестирования. Взаимодействие с runtime контейнеров теперь производится через интерфейс CRI. По умолчанию предлагается плагин с runtime Docker-CRI;
- Реализована возможность использования нескольких планировщиков;
- Для узлов и групп контейнеров (pods) добавлены средства привязки (affinity);
- Для групп контейнеров (на каждый pod) теперь можно указать как долго pod должен быть прикреплен к узлу, в случае возникновения проблем с узлом;
- Обеспеченна предустановка StorageClass для и Azure, AWS, GCE, OpenStack и vSphere.