Специалисты, работающие с Kubernetes, считают графический интерфейс важным компонентом любой платформы контейнеризации. Такого мнения придерживаются 38 % респондентов исследования State Of DevOps Russia 2024. Это связано с тем, что работа с инфраструктурой исключительно через терминал ограничивает удобство и не позволяет в полной мере раскрыть потенциал использования Kubernetes-платформ. Понимая эту потребность, мы разработали новый веб-интерфейс для Deckhouse Kubernetes Platform, возможности которого подробно рассмотрим в этой статье.

Кому и зачем нужен графический интерфейс
Графический интерфейс предназначен для тех, кто стремится упростить взаимодействие с Kubernetes-инфраструктурой:
- Новичкам — быстрый старт. Графический интерфейс позволяет быстро освоиться с Kubernetes и сократить время обучения.
- Компаниям — оптимизация работы и рост. Использование веб-интерфейса позволит командам работать эффективнее независимо от уровня их подготовки. Опытные специалисты смогут делегировать задачи, а новички — быстрее включаться в процесс. Это повышает продуктивность команд, снижает нагрузку на ИТ-отдел и позволяет бизнесу быстрее реагировать на изменения рынка.
- Для бизнеса — прозрачность и управляемость. Интерфейс Deckhouse Kubernetes Platform даёт наглядную картину состояния инфраструктуры, делает ИТ-процессы более понятными для менеджмента и помогает принимать обоснованные стратегические решения.
В каких редакциях Deckhouse Kubernetes Platform доступен UI
Веб-интерфейс представлен во всех редакциях Deckhouse Kubernetes Platform (DKP) за исключением DKP Certified Security Edition Lite. Возможности пользователя зависят от его роли и редакции DKP — интерфейс учитывает это и отображает только те компоненты, к которым есть доступ. Так, в редакциях Community Edition и Basic Edition интерфейс системной части доступен только для чтения, а в пользовательских пространствах имён он работает без ограничений.

Во всех остальных редакциях веб-интерфейс работает в полном объёме — пользователям предоставлен полный контроль над всеми аспектами платформы.
В частности, ФСТЭК-редакция DKP Certified Security Edition Pro (DKP CSE) с повышенными требованиями к безопасности поддерживает интерфейс полноценно, с учётом всех особенностей.
Подход к реализации интерфейса напрямую связан с архитектурой платформ. Интерфейс создаётся с учётом архитектуры и сценариев применения платформ DKP и DVP (Deckhouse Virtualization Platform), чтобы максимально соответствовать потребностям их пользователей. Это не универсальный графический интерфейс для любых Kubernetes-кластеров, а встроенный компонент самой платформы.
Как начать работу с графическим интерфейсом, подробно рассказываем в документации.
Готовим публикацию исходного кода
Мы придерживаемся принципов Open Source. Основная часть исходного кода скоро будет опубликована — сообщество сможет напрямую участвовать в развитии пользовательского интерфейса, предлагать улучшения и создавать новые функции.
Переход на собственный интерфейс позволил нам отказаться от kubernetes-dashboard. В новых релизах он не будет поддерживаться, поскольку все ключевые сценарии теперь реализованы средствами нашего веб-интерфейса .
Что планируем добавить в 2025 году
В этом году мы планируем значительно расширить функциональность графического интерфейса, добавив несколько возможностей:
- конфигурация интеграции платформы с инфраструктурой: Базис.DynamiX, Huawei Cloud, zVirt;
- работа с поддерживаемыми типами хранилищ: Ceph, HPE, Huawei, NFS, S3, TATLIN Unified, iSCSI;
- управление политиками безопасности, операционными и сетевыми политиками;
- новая ролевая модель: возможность настраивать права на систему, на отдельные подсистемы, на конкретный проект;
- управление egress-шлюзами и таблицами маршрутизации;
- управление конфигурацией Istio: service mesh, федерация кластеров и другие возможности;
- управление платформой виртуализации Deckhouse Virtualization Platform;
- возможности мониторинга: просмотр и редактирование дашбордов Grafana, управление триггерами (правилами) и работа с оповещениями (алертами);
- браузер API: возможность работать с любыми сущностями в Kubernetes API в виде YAML-манифестов.