Новый релиз Kubernetes, системы с открытым исходным кодом для оркестрирования контейнеров, добавляет начальный уровень поддержки Microsoft Windows Server и позволяет ознакомиться с возможностями приложения по запоминанию состояний.

В релизе 1.5, который будет выпущен 15 декабря, система Kubernetes получила дальнейшее развитие. Система впервые переносится на Microsoft Windows Server. Kubernetes 1.5 — последний основной релиз в этом году после вышедшего 26 сентября релиза 1.4.

Kubernetes развивается в рамках проекта Cloud Native Computing Foundation (CNCF) фонда Linux Foundation, который осуществляется силами нескольких производителей ПО, создающих код и передающих его проекту.

«Растет привлекательность Kubernetes в качестве стандартной платформы с открытым исходным кодом, допускающей развертывание в публичных, частных, гибридных и многооблачных средах», — заявил исполнительный директор CNCF Дэн Кон.

Среди производителей, помогавших включить поддержку Windows в Kubernetes 1.5, были Red Hat и Apprenda.

«Red Hat содействовала тому, чтобы Windows поддерживала контейнеры на нескольких уровнях, включая закладывание основы подключения узлов Windows к кластеру и создание прототипа отображения концепций Kubernetes на контейнеры Windows, — сказал ведущий инженер Red Hat по OpenShift Клейтон Коулмен. — Хотя эта инициатива находится еще в начальной стадии развития, мы воодушевлены перспективой управлять задачами для смешанных приложений Kubernetes как под Windows, так и под Linux».

До выхода релиза Kubernetes 1.5 единственной поддерживаемой операционной системой была Linux. Старший вице-президент Apprenda по продуктам и инжинирингу Ракеш Малхотра пояснил, что прежде Kubernetes поддерживалась облаком Microsoft Azure, но не Windows Server. Теперь поддержка появляется в Windows Server 2016 благодаря тому факту, что это первая версия Windows с поддержкой контейнеров. Microsoft и Docker объявили об этом 26 сентября.

«С выходом релиза Kubernetes 1.5 вы можете инсталлировать гибридную контейнерную хостовую среду операционных систем Linux и Windows Server для размещения кластера Kubernetes. При этом все будет развернуто на базе вашей локальной инфраструктуры или в Microsoft Azure», — сказал Малхотра.

Он пояснил, что при использовании Kubernetes 1.5 приложения могут работать под управлением Linux или Windows Server. Однако реально применяемые контейнеры, например, контейнеры Windows Server и Hyper-V, способны распределяться в кластере только по узлам Windows Server. Для разработчиков API-интерфейс Windows и Linux будет по-прежнему выглядеть одинаково. Малхотра добавил, что все среды Kubernetes и в дальнейшем будут требовать развертывания узлов Linux для размещения основных компонентов Kubernetes, включая API-сервер, менеджер контроллера, планировщик и распределенную систему хранения. Узлы Kubernetes, которые являются хостами контейнеров, могут развертываться с использованием Windows Server или Linux.

«Kubernetes должна стать единой панелью управления, которую разработчики смогут легко развернуть и предоставить специалистам по DevOps или операциям решать, какая операционная система является наиболее подходящей», — сказал Малхотра.

Он добавил, что поддержка Windows уже реализована, но предстоит еще поработать над сетевыми компонентами, прежде чем она станет общедоступной для решения производственных задач.

Бета-версия StatefulSet

Другой особенностью Kubernetes 1.5 является StatefulSet, в настоящее время в виде бета-версии.

«StatefulSet, которую обычно называют PetSet, позволяет организациям запускать приложения с запоминанием состояний», — сказал Малхотра.

Он напомнил, что приложения с запоминанием состояний — требуют более высокого уровня надежности хранения, в т. ч. с использованием СУБД типа PostgreSQL и кластеризованного ПО вроде распределенных систем ключ-значение или Cassandra.

Если заглянуть в 2017 г., то имеется ряд областей, в которых Kubernetes может ожидать дальнейших усовершенствований. Малхотра сообщил, что Apprenda продолжит тесно сотрудничать с Microsoft с целью улучшения сетевых аспектов Windows Server Containers. Кроме того, он рассчитывает увидеть очередные инновации в приборной панели Kubernetes, а также прогресс в развертывании непосредственно на оборудовании без ОС и другого ПО (bare metal).

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