В открытой платформе оркестрирования контейнеров Kubernetes 1.14 появились новые функции и новый процесс разработки, сообщает портал eWeek. Это позволяет увидеть, какие усовершенствования будут включены в последующие релизы.
Открытая нативно-облачная платформа Kubernetes разрабатывается под эгидой фонда Cloud Native Computing Foundation (CNCF). В вышедшей 25 марта версии 1.14 появилось десять новых функций, признанных стабильными. Одним из главных усовершенствований стала поддержка узлов Windows в производственных системах.
«Я горжусь уже тем фактом, что в Kubernetes 1.14 больше стабильных усовершенствований, чем в любом предшествующем релизе платформы, — сказал инженер-тестировщик Google и руководитель релиза Kubernetes 1.14 Аарон Крикенбергер. — Постоянное внимание к стабильности говорит о приверженности сообщества этому качеству».
Версия Kubernetes 1.13 была выпущена 3 декабря 2018 г. и стала четвертым крупным обновлением Kubernetes в прошлом году. Благодаря регулярному появлению релизов функции проходят цикл разработки от альфа- до бета-версии и, в конечном итоге, до стабильной, как только соответствующая функция будет проверена на готовность к работе в производственных условиях.
Поддержка узлов Windows
Первоначально Kubernetes поддерживала Linux. Но в версии 1.14 поддержка узлов Windows обозначена как стабильная функция. Благодаря ей контейнерами Windows можно управлять с помощью Kubernetes.
«Контейнеры Windows Server привносят совершенно новое измерение, — сказал Крикенбергер. — На Windows Server многие вещи работают не так, если вообще работают, по сравнению с тем, что доступно в Linux».
Он добавил, что поддержка Windows поможет лучше артикулировать, что представляет собой Kubernetes, в контексте различных операционных систем и библиотек времени исполнения. По его мнению, это будет хорошей проверкой, которая покажет, действительно ли организации хотят иметь возможность оркестрировать задачи в кластерах с различными ОС.
Попытки сделать Windows доступной для Kubernetes и контейнеров предпринимались на протяжении нескольких лет. Среди многих фирм, сотрудничавших в этом деле с Microsoft, была и Docker, которая является ведущим коммерческим производителем, поддерживающим одноименный движок контейнеров.
«Kubernetes с поддержкой Windows представляет собой принципиальный шаг для отрасли и является подтверждением той работы, которую проделали Docker и Microsoft для развития контейнеров Windows на протяжении последних пяти лет, — сказала директор Docker по маркетингу продуктов Дженни Фонг. — Мы сотрудничали с Microsoft и сообществом Kubernetes в работе над ключевыми компонентами, такими как Docker Engine и containerd, системы хранения и сетевые функции, в дополнение к вошедшей в релиз 1.14 поддержке аутентифицируемых посредством Active Directory задач».
Усовершенствования kubectl
Ряд усовершенствований внесен в интерфейс командной строки kubectl. Среди них механизм плагинов, который позволяет разработчикам обмениваться нестандартными командами. Кроме того, теперь kubectl интегрирует команды Kustomize, что дает возможность разработчикам настраивать конфигурации YAML (Yet Another Markup Language). YAML используется в качестве основного языка определений для конфигурирования Kubernetes.
«Замечательно, что продолжается работа по приданию kubectl таких функций, которые позволяют другим людям находить решения, которые они могут использовать», — сказал Крикенбергер.
Предложения по совершенствованию Kubernetes
Самым крупным изменением в Kubernetes 1.14 стала не какая-то конкретная функция, а новый процесс определения, как и когда одобряются усовершенствования и как они продвигаются через цикл разработки Kubernetes. Подход Kubernetes Enhancement Proposal (KEP) впервые включен в Kubernetes 1.14. Он помог Крикенбергеру и всему сообществу управлять процессом совершенствования.
Крикенбергер пояснил, что при наличии KEP разработчикам необходимо знать истории клиентов, которые объясняют, какие возможности новая функция пытается предоставить и какие проблемы решить. «Я думаю, очень полезно иметь единый форум, чтобы лучше понимать, что происходит в релизе», — сказал он.
В прошлом попытки разобраться, что включается в релиз Kubernetes, требовали просмотра различных документов по дизайну и файлов на сайте GitHub и в других местах. Крикенбергер добавил, что очень полезно собрать всю информацию, поместить ее в одно место и назвать это место KEP.
«Люди довольно неаккуратны, но... мы собрали все наше месиво и запихнули его в одно место с помощью KEP, — сказал Крикенбергер. — Теперь, когда мы согласились, что это то место, где мы все храним и обсуждаем, мы можем приступить к совершенствованию его организации».