Состоялся (http://blog.kubernetes.io/2017/12/kubernetes-19-workloads-ex...) релиз платформы оркестровки контейнеров Kubernetes 1.9 (http://kubernetes.io/), позволяющей как единым целым управлять кластером Linux-контейнеров, созданных с использованием таких инструментариев как Docker и rkt. Платформа обеспечивает эффективное распределение контейнеров по узлам кластера, производя миграцию в зависимости от изменения нагрузки и потребности в сервисах. Код Kubernetes написан на языке Go и распространяется (http://github.com/kubernetes/kubernetes) под лицензией Apache 2.0. Проект изначально был создан компанией Google, но затем переведён на независимую площадку, курируемую организацией Linux Foundation. Kubernetes позиционируется как развиваемое сообществом универсальное решение, не привязанное к отдельным системам и способное работать с любыми приложениями в любых облачных окружениях. Предоставляются функции для развёртывания и управления инфраструктурой, такие как ведение базы DNS, балансировка нагрузки, проверка работоспособности на уровне приложений, управление аккаунтами, обновление и динамическое масштабирование работающего кластера, без его остановки. Возможно развёртывание групп контейнеров с выполнением операций обновлений и отмены изменений сразу для всей группы, а также логическое разбиение кластера на части с разделением ресурсов. Имеется поддержка динамической миграции приложений, для хранения данных которых могут применяться как локальные хранилища, так и сетевые системы хранения.
Основные новшества (https://github.com/kubernetes/kubernetes/blob/master/CHANGEL...):
- Стабилизирован, включен по умолчанию и признан пригодным для широкого внедрения API Workloads (https://kubernetes.io/docs/reference/workloads-18-19/), представляющий средства для запуска и управления контейнерами в кластере, как сохраняющими своё состояние между перезапусками (stateful), так и запускаемыми каждый раз с чистого листа (stateless). API разделён на группы DaemonSet, Deployment, ReplicaSet и StatefulSet, а также отдельно стабилизируемый набор (Job и CronJob) для пакетного выполнения работ;
- Добавлена тестовая поддержка (https://kubernetes.io/docs/getting-started-guides/windows/) платформы Windows. Для развёртывания изолированных контейнеров в Windows применяется механизм Windows Server Containers, доступный в Windows Server 2016. Управляющие компоненты Kubernetes (API Server, Scheduler, Controller Manager и т.п.) по-прежнему могут работать только Linux, но kubelet и kube-proxy уже можно запустит в Windows Server 2016. Конечной целью является предоставление возможности развёртывания гибридных окружений, в которых в рамках единого решения могут выполняться контейнеры c Linux и Windows;
- Добавлена экспериментальная поддержка интерфейса CSI (Container Storage Interface), в рамках которого совместно с другими проектами предпринята попытка стандартизировать плагины для поддержки различных систем хранения. CSI предоставляет единый интерфейс для выделения места, прикрепления и монтирования храналищ. Различные поставщики теперь могут поставлять плагины для интеграции со своими службами хранения без необходимости внесения изменений в кодовую базу Kubernetes;
- Включена по умолчанию и переведена на стадии бета-разработки система валидации CRD (Custom Resource Definition);
- Представлен альфа-выпуск нтерфейса SIG Node для задействования средств аппаратного ускорения, позволяющий применять для выскопроизводительных вычислений GPU и акселераторы систем машинного обучения;
- Добавлена альфа-поддержка установки DNS-сервера CoreDNS (https://www.opennet.dev/opennews/art.shtml?num=47674);
- На стадию бета-тестирования переведён режим IPVS для kube-proxy, позволяющий повысить масштабируемость и производительность крупных кластеров.
URL: http://blog.kubernetes.io/2017/12/kubernetes-19-workloads-ex...
Новость: http://www.opennet.dev/opennews/art.shtml?num=47762