Upload Packages

Платформа предоставляет инструмент командной строки violet, который используется для загрузки пакетов, скачанных из Marketplace в Custom Portal, на платформу.

violet поддерживает загрузку следующих типов пакетов:

  • Operator
  • Cluster Plugin
  • Helm Chart

Если статус пакета в Cluster Plugins или OperatorHub отображается как Absent, необходимо использовать этот инструмент для загрузки соответствующего пакета.

Процесс загрузки с помощью violet включает следующие основные шаги:

  1. Распаковка и извлечение информации из пакета
  2. Отправка образов в реестр образов
  3. Создание ресурсов Artifact и ArtifactVersion на платформе

Содержание

Загрузка инструмента

Поддерживаемые операционные системы и архитектуры

  • Linux, macOS, Windows
  • Для Linux и macOS поддерживаются архитектуры x86 и ARM

Шаги для загрузки

  1. Войдите в Web Console глобального кластера и переключитесь в режим Administrator.
  2. Перейдите в раздел Marketplace > Upload Packages.
  3. Нажмите Download Packaging and Listing Tool.
  4. Выберите бинарный файл, соответствующий вашей операционной системе и архитектуре.

После загрузки установите инструмент на ваш сервер или ПК.

Для Linux или macOS

Для пользователей без root-прав:

# Linux x86
sudo mv -f violet_linux_amd64 /usr/local/bin/violet && sudo chmod +x /usr/local/bin/violet
# Linux ARM
sudo mv -f violet_linux_arm64 /usr/local/bin/violet && sudo chmod +x /usr/local/bin/violet
# macOS x86
sudo mv -f violet_darwin_amd64 /usr/local/bin/violet && sudo chmod +x /usr/local/bin/violet
# macOS ARM
sudo mv -f violet_darwin_arm64 /usr/local/bin/violet && sudo chmod +x /usr/local/bin/violet

Для пользователей с root-правами:

# Linux x86
mv -f violet_linux_amd64 /usr/bin/violet && chmod +x /usr/bin/violet
# Linux ARM
mv -f violet_linux_arm64 /usr/bin/violet && chmod +x /usr/bin/violet
# macOS x86
mv -f violet_darwin_amd64 /usr/bin/violet && chmod +x /usr/bin/violet
# macOS ARM
mv -f violet_darwin_arm64 /usr/bin/violet && chmod +x /usr/bin/violet

Для Windows

  1. Скачайте файл и переименуйте его в violet.exe, либо используйте PowerShell для переименования:

    # Windows x86
    mv -Force violet_windows_amd64.exe violet.exe
  2. Запустите инструмент в PowerShell.

Примечание: Если путь к инструменту не добавлен в переменные окружения, при выполнении команд необходимо указывать полный путь.

Предварительные требования

Требования к правам

  • Необходимо предоставить действующую учетную запись пользователя платформы (имя пользователя и пароль).
  • Учетная запись должна иметь свойство роли, установленное в System, а имя роли — platform-admin-system.

Примечание: Если свойство роли вашей учетной записи установлено в Custom, вы не сможете использовать этот инструмент.

Использование инструмента

Ниже приведены примеры типичных сценариев использования.

Просмотр информации о пакете

Перед загрузкой пакета используйте команду violet show для предварительного просмотра его деталей.

violet show topolvm-operator.v2.3.0.tgz
Name: NativeStor
Type: bundle
Arch: [linux/amd64]
Version: 2.3.0

violet show topolvm-operator.v2.3.0.tgz --all
Name: NativeStor
Type: bundle
Arch: []
Version: 2.3.0
Artifact: harbor.demo.io/acp/topolvm-operator-bundle:v3.11.0
RelateImages: [harbor.demo.io/acp/topolvm-operator:v3.11.0 harbor.demo.io/acp/topolvm:v3.11.0 harbor.demo.io/3rdparty/k8scsi/csi-provisioner:v3.00 ...]

Загрузка Operator в несколько кластеров

Используйте параметр --clusters для указания целевых кластеров.

violet push opensearch-operator.v3.14.2.tgz \
  --platform-address https://192.168.0.1 \
  --platform-username <user> \
  --platform-password <password> \
  --clusters region1,region2

Примечание: Если параметр --clusters не указан, Operator загружается по умолчанию в глобальный кластер.

Загрузка Cluster Plugin

violet push plugins-cloudedge-v0.3.16-hybrid.tgz \
  --platform-address https://192.168.0.1 \
  --platform-username <user> \
  --platform-password <password>

Примечание: При загрузке Cluster Plugin параметр --clusters указывать не нужно, так как платформа автоматически распределит его согласно конфигурации affinity. Если параметр --clusters указан, он будет проигнорирован.

Загрузка Helm Chart

Загрузите Helm Chart в репозиторий чартов:

violet push plugins-cloudedge-v0.3.16-hybrid.tgz \
  --platform-address https://192.168.0.1 \
  --platform-username <user> \
  --platform-password <password>

Примечание: Helm Charts можно загружать только в репозиторий public-charts по умолчанию, предоставляемый платформой.

Для получения дополнительной информации выполните:

violet --help

Только отправка образов из всех пакетов в каталоге

Если из Marketplace скачано несколько пакетов, их можно поместить в один каталог и загрузить все сразу:

violet push <packages_dir_name> \
  --skip-crs \
  --platform-address https://192.168.0.1 \
  --platform-username <user> \
  --platform-password <password>

С флагом --skip-crs отправляются только образы, при этом создание ресурсов Artifact и ArtifactVersion пропускается. Это предотвращает преждевременное обновление Operator или Cluster Plugin в процессе обновления .

Только создание CR из всех пакетов в каталоге

Если из Marketplace скачано несколько пакетов, их можно поместить в один каталог и загрузить все сразу:

violet push <packages_dir_name> \
  --skip-push \
  --platform-address https://192.168.0.1 \
  --platform-username <user> \
  --platform-password <password>

С флагом --skip-push создаются только ресурсы Artifact и ArtifactVersion, при этом образы не отправляются.