Представлен (http://blog.kubernetes.io/2017/03/kubernetes-1.6-multi-user-...) релиз платформы оркестровки контейнеров Kubernetes 1.6 (http://kubernetes.io/), позволяющей как единым целым управлять кластером Linux-контейнеров, созданных с использованием таких инструментариев как Docker и rkt. Платформа обеспечивает эффективное распределение контейнеров по узлам кластера, производя миграцию в зависимости от изменения нагрузки и потребности в сервисах. Код Kubernetes написан на языке Go и распространяется (http://github.com/kubernetes/kubernetes) под лицензией Apache 2.0.
Проект Kubernetes изначально был основан компанией Google и позиционируется как развиваемое сообществом универсальное решение, не привязанное к отдельным системам и способное работать с любыми приложениями в любых облачных окружениях. Предоставляются функции для развёртывания и управления инфраструктурой, такие как ведение базы DNS, балансировка нагрузки, проверка работоспособности на уровне приложений, управление аккаунтами, обновление и динамическое масштабирование работающего кластера, без его остановки. Возможно развёртывание групп контейнеров с выполнением операций обновлений и отмены изменений сразу для всей группы, а также логическое разбиение кластера на части с разделением ресурсов. Имеется поддержка динамической миграции приложений, для хранения данных которых могут применяться как локальные хранилища, так и сетевые системы хранения.
Kubernetes 1.6 стал первым релизом, подготовленным не под предводительством Google, а объединённой командой разработчиков. В разработке приняли участие представители компаний CoreOS, Microsoft, Red Hat, Heptio, Mirantis и Google, а также индивидуальные участники из сообщества. Основные новшества (https://github.com/kubernetes/kubernetes/blob/master/CHANGEL.../):
- Задействовано по умолчанию распределённое хранилище параметров конфигурации etcdv3 (https://www.opennet.dev/opennews/art.shtml?num=45897). Применение etcdv3 позволило существенно увеличить масштибруемость - Kubernetes теперь может использоваться в кластерах, насчитывающих до 5000 узлов;
- Переведены в разряд стабильных средства для динамического выделения места в хранилище;
- Началось бета-тестирование поддержки разграничения доступа на основе ролей (RBAC (https://kubernetes.io//docs/admin/authorization/rbac)). RBAC предоставляет дополнительный уровень безопасности, позволяющий гранулировано распределять привилегии в кластере на уровне предоставления отдельным пользователям доступа к различным компонентам, контроллерам и узлам кластера.
- Платформа избавлена от прямой зависимости от конкретных runtime для запуска контейнеров. Пользователям предоставлена возможность использования runtime, отличных от Docker, в том числе rkt и CRI-O.
- Инструмент запуска кластера kubeadm переведён на стадию бета-тестирования. Всё сетевое взаимодействие теперь производится только через TLS. Добавлена возможность установки плагинов для авторизации и управления токенами;
- Инструмент для объединения систем (Federation) kubefed переведён на стадию бета-тестирования. Взаимодействие с runtime контейнеров теперь производится через интерфейс CRI. По умолчанию предлагается плагин с runtime Docker-CRI;
- Реализована возможность использования нескольких планировщиков (https://kubernetes.io/docs/admin/multiple-schedulers/);
- Для узлов и групп контейнеров (pods (https://kubernetes.io/docs/user-guide/pods/)) добавлены средства привязки (affinity);
- Для групп контейнеров (на каждый pod) теперь можно указать как долго pod должен быть прикреплён к узлу, в случае возникновения проблем с узлом;
- Обеспеченна предустановка StorageClass для и Azure, AWS, GCE, OpenStack и vSphere.
URL: https://coreos.com/blog/kubernetes-1-6.html
Новость: http://www.opennet.dev/opennews/art.shtml?num=46278