Cluster Plugin
Содержание
Overview
Плагин кластера — это инструмент для расширения функциональности платформы. Каждый плагин управляется через три CRD на уровне кластера: ModulePlugin, ModuleConfig и ModuleInfo.
- ModulePlugin: Определяет основную информацию о плагине кластера.
- ModuleConfig: Определяет информацию о версии плагина. Каждый ModulePlugin может соответствовать одному или нескольким ModuleConfig.
- ModuleInfo: Фиксирует установленную версию плагина и информацию о его состоянии.
Плагины кластера поддерживают динамическую конфигурацию форм. Динамические формы — это простые UI-формы, предоставляющие настраиваемые варианты конфигурации или комбинации параметров для плагинов. Например, при установке Log Collector можно выбрать плагин хранения логов ElasticSearch или ClickHouse через динамическую форму. Определение динамической формы находится в поле .spec.config ModuleConfig; если плагин не требует динамической формы, это поле пустое.
Плагины публикуются с помощью инструмента violet. Обратите внимание:
- Плагины можно публиковать только в глобальный кластер, но устанавливать их можно как в глобальном, так и в рабочем кластере в зависимости от конфигурации.
- В одном кластере плагин может быть установлен только один раз.
- После успешной публикации платформа автоматически создаст соответствующие ModulePlugin и ModuleConfig в глобальном кластере — ручные изменения не требуются.
- Создание ресурса ModuleInfo устанавливает плагин и позволяет выбрать версию, целевой кластер и параметры динамической формы. Определение динамической формы смотрите в ModuleConfig выбранной версии. Для подробных инструкций по использованию обращайтесь к документации конкретного плагина.
Просмотр доступных плагинов
Чтобы просмотреть все плагины, предоставляемые платформой:
- Перейдите в представление управления платформой.
- В левом навигационном меню выберите: Administrator > Marketplace > Cluster Plugin
На этой странице отображаются все доступные плагины с их текущим статусом.
Установка через веб-консоль
Если у плагина статус «absent», выполните следующие шаги для установки:
-
Скачайте пакет плагина:
- Зайдите в Customer Portal и скачайте соответствующий пакет плагина.
- Если у вас нет доступа к Customer Portal, обратитесь в техническую поддержку.
-
Загрузите пакет на платформу:
- Используйте инструмент
violetдля публикации пакета на платформу. - Подробные инструкции по использованию инструмента смотрите в разделе CLI.
- Используйте инструмент
-
Проверьте загрузку:
- Перейдите в Administrator > Marketplace > Upload Packages
- Переключитесь на вкладку Cluster Plugin
- Найдите имя загруженного плагина
- В деталях плагина будут отображены версии загруженного пакета
-
Установите плагин:
- Если у плагина статус «ready», нажмите Install
- Некоторые плагины требуют параметров установки; смотрите документацию конкретного плагина
- Плагины без параметров установки начнут установку сразу после нажатия Install
Установка через YAML
Метод установки зависит от типа плагина:
- Non-config plugin: Дополнительные параметры не требуются; установка простая.
- Config plugin: Требуется заполнение параметров конфигурации; подробности в документации плагина.
Установка через YAML всегда должна выполняться в глобальном кластере.
Хотя сам плагин может быть нацелен как на глобальный, так и на рабочий кластер (в зависимости от настроек affinity в ModuleConfig), ресурс ModuleInfo можно создавать только в глобальном кластере.
Ниже приведены примеры установки через YAML.
non-config
Пример: Web Terminal
1. Проверка доступных версий
Убедитесь, что плагин опубликован, проверив наличие ресурсов ModulePlugin и ModuleConfig в глобальном кластере:
Это означает, что ModulePlugin web-cli существует в глобальном кластере, а версия v4.0.4 опубликована.
Проверьте ModuleConfig для версии v4.0.4:
.spec.affinity определяет affinity кластера, указывая, что web-cli можно устанавливать только в глобальном кластере. .spec.config пустое, значит плагин не требует конфигурации и может быть установлен напрямую.
2. Создание ModuleInfo
Создайте ресурс ModuleInfo в глобальном кластере для установки плагина без параметров конфигурации:
Описание полей:
-
name: Временное имя плагина кластера. Платформа переименует его после создания на основе содержимого в формате<cluster-name>-<hash содержимого>, напримерglobal-ee98c9991ea1464aaa8054bdacbab313. -
label cpaas.io/cluster-name: Указывает целевой кластер для установки плагина. Если конфликтует с affinity в ModuleConfig, установка завершится ошибкой.Важно: Эта метка не меняет место применения YAML — YAML всё равно должен применяться в глобальном кластере.
-
label cpaas.io/module-name: Имя плагина, должно совпадать с ресурсом ModulePlugin. -
label cpaas.io/module-type: Фиксированное поле, должно бытьplugin; отсутствие приведёт к ошибке установки. -
.spec.config: Если соответствующий ModuleConfig пуст, это поле можно оставить пустым. -
.spec.version: Версия плагина для установки, должна совпадать с.spec.versionв ModuleConfig.
3. Проверка установки
Так как имя ModuleInfo меняется после создания, найдите ресурс по метке в глобальном кластере, чтобы проверить статус и версию плагина:
Описание полей:
NAME: Имя ресурса ModuleInfoCLUSTER: Кластер, где установлен плагинMODULE: Имя плагинаDISPLAY_NAME: Отображаемое имя плагинаSTATUS: Статус установки;Runningозначает успешную установку и работуTARGET_VERSION: Целевая версия установкиCURRENT_VERSION: Текущая версия до установкиNEW_VERSION: Последняя доступная версия для установки
with-config
Пример: GPU Device Plugin
1. Проверка доступных версий
Убедитесь, что плагин опубликован, проверив наличие ModulePlugin и ModuleConfig в глобальном кластере:
Это означает, что ModulePlugin gpu-device-plugin существует в глобальном кластере, а версия v4.0.15 опубликована.
Проверьте ModuleConfig для версии v4.0.15:
Примечания:
- Этот плагин можно устанавливать только на кластеры с ОС Linux и архитектурой amd64.
- Динамическая форма включает три переключателя драйверов устройств:
custom.mps_enable,custom.pgpu_enableиcustom.vgpu_enable. Только при значенииtrueсоответствующий драйвер будет установлен.
2. Создание ModuleInfo
Создайте ресурс ModuleInfo в глобальном кластере для установки плагина, заполнив параметры динамической формы по необходимости (например, включив драйверы pgpu и vgpu):
Описание полей такое же, как для non-config. Подробности конфигурации смотрите в документации плагина.
3. Проверка установки
Найдите ModuleInfo по метке в глобальном кластере, чтобы проверить статус и версию:
Описание полей такое же, как для non-config.
Процесс обновления
Чтобы обновить существующий плагин до новой версии:
-
Загрузите новую версию:
- Выполните тот же процесс загрузки новой версии на платформу.
- После завершения загрузки подождите примерно 10–15 минут, чтобы платформа синхронизировала информацию о новой версии.
-
Проверьте новую версию:
- Перейдите в Administrator > Marketplace > Upload Packages
- Переключитесь на вкладку Cluster Plugin
- В деталях плагина будет отображена недавно загруженная версия
-
Выполните обновление:
- Перейдите в Administrator > Clusters > Clusters
- Кластеры с доступными для обновления плагинами будут отображать иконку обновления
- Зайдите в детали кластера и переключитесь на вкладку Features
- Кнопка обновления будет активна в компоненте features
- Нажмите Upgrade для завершения обновления плагина