Концептуальная модель предметной области#

Компонент K8S Core (K8SC) продукта Platform V DropApp (K8S) (далее – DropApp) предназначен для автоматизации развертывания, масштабирования и управления контейнерными приложениями.

Компонент Utilites (K8SU) обеспечивает дополнительные функции DropApp посредством установки вспомогательных инструментов и утилит на развернутый кластер DropApp компонента K8S Core (K8SC).

HyperSight (K8SO) – инструмент для мониторинга, сбора и хранения метрик кластеров DropApp, предусматривающий взаимодействие с K8S Core (K8SC), устанавливаемый на развернутый кластер K8S Core (K8SC).

K8S Artificial Intelligеnce (K8SI) – компонент, включающий операторы искусственного интеллекта и обучение языковым моделям.

Управляющий слой (MGMT) – управляющий слой продукта, обеспечивающий автоматизированную установку, обновление и управление кластером DropApp с помощью утилиты Dactl.

Иерархическая структура DropApp

Диаграмма. Иерархическая структура DropApp

  • Дополнительные компоненты разворачиваются на рабочих узлах в виде pod после установки основного состава.

Полный состав компонентов приведен в документе «Руководство администратора».

Использование компонента MGMT#

Компонент MGMT поставляется как отдельный дистрибутив K8S-mgmt-<version>-<distrib_number>-distrib.zip и содержит бинарные файлы утилит, контейнерные образы и документацию.

Утилита Dactl из состава MGMT обеспечивает полный жизненный цикл кластера DropApp:

  • Создание кластера – автоматизированная установка на базе конфигурационного файла DropAppConfiguration с поддержкой минимальной и высокодоступной конфигураций, включая настройку машин, загрузку образов в реестр Harbor и развертывание основных компонентов.

  • Управление узлами – добавление и удаление рабочих узлов и узлов управляющего слоя через пользовательские ресурсы DropAppNode с автоматическим присоединением узлов к кластеру и репликацией системных pod.

  • Обновление кластера – переход на новую версию DropApp с помощью конфигурации DropAppUpgradeConfiguration, обновление RPM-пакетов и компонентов.

  • Удаление кластера – полная очистка кластера с удалением всех ресурсов и артефактов.

Администратор формирует конфигурационный манифест DropAppConfiguration с настройками узлов, реестра образов, сетевых параметров и запускает команду dactl create cluster для автоматизированного развертывания. После установки Dactl предоставляет артефакты: kubeconfig для доступа к кластеру и учетные данные пользователя kubeadmin для веб-консоли.

Модель компонентов и инструментов DropApp#

Архитектура DropApp с использованием Управляющего слоя (MGMT) построена на основе модели компонентов и инструментов, управляемых оператором Dapp-operator.

Компонент (Component) – группа из одного или нескольких инструментов, объединенная для решения конкретной задачи. Для Kubernetes, компонент является CustomResourceDefinition, управляемым Dapp-operator.

Инструмент (Tool) – оператор pod, Deployment и другие ресурсы DropApp, выполняющие отдельную функцию. Представляет собой Helm-релиз Helm-чарта. Для Kubernetes, инструмент является CustomResourceDefinition, управляемым Dapp-operator.

Компоненты делятся на две группы:

  • Основные компоненты – устанавливаются при развертывании кластера DropApp: Auth, Cert-management, Cni, Ingress-controller, Load-balancer, Ui.

  • Дополнительные компоненты – устанавливаются после развертывания кластера по необходимости: AI-inference, AI-system, AIOps, Alerting, DevOps, GitOps, Logging, Monitoring, Node-management, Pod-management, Security, Storage.

Установка дополнительных компонентов выполняется независимо друг от друга в порядке, определяемом администратором, с помощью утилиты Dactl. Смотрите подробнее в документе «Руководство по установке Dactl».

Вложенные кластеры TenantCluster#

TenantCluster (вложенный кластер, виртуальный кластер) – инструмент для создания виртуальных кластеров DropApp внутри существующих физических или логических кластеров, реализующий парадигму «kube-in-kube» на базе VCluster.

Виртуальный кластер предоставляет изолированное окружение, которое функционирует как полноценный Kubernetes-кластер, но использует ресурсы родительского кластера. Внутри TenantCluster разворачивается ограниченная версия Dapp-operator, позволяющая устанавливать компоненты Auth, Ui, GitOps, DevOps и AIOps.