• Русский
  • Загрузка пакетов

    Платформа предоставляет инструмент командной строки 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.

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

    Требования

    Требования к правам доступа

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

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

    Использование

    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 push

    Ниже приведены примеры типичных сценариев использования.
    Перед рассмотрением примеров приведены некоторые распространённые НЕОБЯЗАТЕЛЬНЫЕ параметры команд:

    --platform-address <platform access URL>     # URL доступа к платформе, например, "https://example.com"
    --platform-username <platform user>          # Имя пользователя платформы
    --platform-password <platform password>      # Пароль пользователя платформы
    --clusters <cluster names>                   # Указание целевых кластеров через запятую (например, region1,region2)
    
    --dest-repo <image repository URL>           # Указание URL репозитория образов назначения. ОБЯЗАТЕЛЬНО при загрузке расширений в резервный кластер.
                                                     При указании `--dest-repo` необходимо также предоставить либо данные аутентификации реестра образов, либо `--no-auth`.
    --username <registry user>                   # Имя пользователя указанного реестра образов.
    --password <registry password>               # Пароль указанного реестра образов.
    --no-auth                                    # Указать, если реестр образов не требует аутентификации.
    --plain                                      # Указать, если реестр образов использует HTTP вместо HTTPS.
    
    --skip-crs                                   # Пропустить создание ресурсов `Artifact` и `ArtifactVersion`, только отправить образы.
                                                     Это предотвращает преждевременное обновление Operators или Cluster Plugins во время процесса обновления <Term name="productShort" />.
    --skip-push                                  # Создать только ресурсы `Artifact` и `ArtifactVersion`, образы не отправлять.

    Загрузка 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://example.com" \
      --platform-username "<platform_user>" \
      --platform-password "<platform_password>" \
      --dest-repo "<standby-cluster-VIP>:11443" --username "<registry-username>" --password "<registry-password>"

    Загрузка 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> \
      --skip-crs \
      --platform-address "https://example.com" \
      --platform-username "<platform_user>" \
      --platform-password "<platform_password>"

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

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

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

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

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