• Русский
  • Upload Packages

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

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

    • Operator
    • Cluster Plugin
    • Helm Chart

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

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

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

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

    Войдите в Customer Portal, перейдите на страницу Downloads и выберите CLI Tools. Скачайте бинарный файл, соответствующий вашей операционной системе и архитектуре.

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

    Для 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 принимают следующие параметры. Для конкретного использования смотрите разделы отдельных команд.

    Параметры подключения к платформе

    --platform-address <URL доступа к платформе>     # URL доступа к платформе, например, "https://example.com"
    --platform-username <пользователь платформы>    # Имя пользователя платформы
    --platform-password <пароль пользователя>       # Пароль пользователя платформы

    Параметры реестра образов

    --dest-repo <адрес репозитория образов>         # Указать адрес целевого репозитория образов, например, "harbor.demo.io"
    --username <пользователь реестра>                # Имя пользователя указанного реестра образов
    --password <пароль реестра>                      # Пароль указанного реестра образов
    --no-auth                                        # Указать, если реестр образов не требует аутентификации
    --plain                                          # Указать, если реестр образов использует HTTP вместо HTTPS
    WARNING

    Ограничение на IPv6-адреса

    Для параметров --platform-address и --dest-repo:

    • Если используется IP-адрес (а не доменное имя), IPv6 формат НЕ поддерживается
    • Поддерживаются только IPv4-адреса или доменные имена

    violet show

    Перед загрузкой пакета используйте команду 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 ...]

    violet list

    При обновлении платформы вы можете вывести список всех плагинов, загруженных на платформу, и экспортировать результат в файл. Сгенерированный файл затем можно загрузить в Alauda Cloud для скачивания необходимых пакетов плагинов.

    Необязательные флаги

    --output-file <файл вывода>                      # Путь к файлу списка плагинов для вывода

    Для параметров подключения к платформе (--platform-address, --platform-username, --platform-password) смотрите Общие параметры.

    violet verify

    Команда violet verify используется для проверки подписи одного или нескольких пакетов перед их загрузкой. Поддерживаются два метода проверки: контрольная сумма и GPG. Пакет (.tgz) и соответствующий файл подписи должны находиться в одной директории.

    violet verify example.tgz
    # или проверить все пакеты в директории
    violet verify packages_dir_name

    Пример вывода:

    verify path: /path/to/packages
    ====== Verification Summary ======
    Verified successfully with GPG: 2 file(s)
      - /path/to/packages/redis-operator.tgz
      - /path/to/packages/mysql-operator.tgz
    
    Verified successfully with checksum: 1 file(s)
      - /path/to/packages/nginx-controller.tgz
    
    Verification failed: 1 file(s)
      - /path/to/packages/etcd-operator.tgz
    
    No verification file found: 1 file(s)
      - /path/to/packages/demo-plugin.tgz

    Объяснение:

    • Verified successfully with GPG — перечисленные файлы успешно проверены с помощью GPG-файлов подписи (с расширением .sig).
    • Verified successfully with checksum — файлы, проверенные с помощью файлов контрольных сумм (например, .sha256), прошли проверку целостности.
    • Verification failed — перечисленные файлы не прошли проверку из-за несоответствия или недействительных подписей.
    • No verification file found — в директории не найден соответствующий файл .sig (GPG) или файл контрольной суммы.

    Необязательные флаги

    --debug       Использовать уровень логирования debug.
    -h, --help    Показать справочную информацию по команде verify.

    violet push

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

    Для параметров подключения к платформе и реестру образов смотрите Общие параметры.

    Необязательные флаги

    --clusters <имена кластеров>                    # Указать целевые кластеры через запятую (например, region1,region2)

    При указании --dest-repo обязательно необходимо предоставить либо данные аутентификации реестра образов, либо параметр --no-auth.

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

    violet push opensearch-operator.v3.14.2.tgz \
      --platform-address "https://example.com" \
      --platform-username "<platform_user>" \
      --platform-password "<platform_password>" \
      --clusters region1,region2
    INFO
    • Если параметр --clusters не указан, Operator загружается по умолчанию в глобальный кластер.\

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

    violet push opensearch-operator.v3.14.2.tgz \
      --platform-address "https://<standby-platform-address>" \
      --platform-username "<platform_user>" \
      --platform-password "<platform_password>" \
      --dest-repo "<standby-cluster-VIP>:11443" --username "<registry-username>" --password "<registry-password>"
    WARNING

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

    • Параметр --dest-repo <VIP адрес резервного кластера> ДОЛЖЕН быть указан
    • Параметр --platform-address ДОЛЖЕН указывать на адрес доступа платформы резервного кластера
    • Необходимо предоставить либо данные аутентификации реестра образов резервного кластера, либо параметр --no-auth

    В противном случае пакеты будут загружены в репозиторий образов основного кластера, что помешает резервному кластеру устанавливать или обновлять расширения.

    Загрузка Cluster Plugin

    violet push plugins-cloudedge-v0.3.16-hybrid.tgz \
      --platform-address "https://example.com" \
      --platform-username "<platform_user>" \
      --platform-password "<platform_password>"
    INFO
    • При загрузке Cluster Plugin параметр --clusters указывать не нужно, так как платформа автоматически распределит плагин согласно его конфигурации affinity. Если --clusters указан, параметр будет проигнорирован.\

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

    violet push plugins-cloudedge-v0.3.16-hybrid.tgz \
      --platform-address "https://example.com" \
      --platform-username "<platform_user>" \
      --platform-password "<platform_password>"
    INFO
    • Helm Charts можно загружать только в репозиторий по умолчанию public-charts, предоставляемый платформой.\

    Одновременная загрузка всех пакетов

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

    violet push <packages_dir_name> \
      --platform-address "https://example.com" \
      --platform-username "<platform_user>" \
      --platform-password "<platform_password>" \
      --clusters "<cluster_name>"
    WARNING

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

    Однако если целью обновления является кластер нагрузки, параметр --clusters <имя_кластера_нагрузки> обязателен.