Загрузка пакетов
Платформа предоставляет командную утилиту violet, которая используется для загрузки пакетов, скачанных из Marketplace в Customer Portal, в платформу.
violet поддерживает загрузку следующих типов пакетов:
- Operator
- Cluster Plugin
- Helm Chart
Когда статус пакета в Cluster Plugins или OperatorHub отображается как Absent, необходимо использовать этот инструмент для загрузки соответствующего пакета.
Процесс загрузки violet в основном включает следующие шаги:
- Извлечение и получение информации из пакета
- Отправка образов в image registry
- Создание ресурсов Artifact и ArtifactVersion на платформе
Содержание
Загрузить инструментДля Linux или macOSДля WindowsПредварительные требованияИспользованиеОбщие параметрыПараметры подключения к платформеПараметры image registryviolet showviolet listНеобязательные флагиviolet gcНеобязательные флагиviolet verifyНеобязательные флагиviolet pushНеобязательные флагиЗагрузить Operator в несколько кластеровЗагрузить Operator в резервный глобальный кластерЗагрузить Cluster PluginЗагрузить Helm Chart в chart repositoryЗагрузить все пакеты одновременноЗагрузить инструмент
Войдите в Customer Portal, откройте страницу Downloads и нажмите CLI Tools. Скачайте двоичный файл, соответствующий вашей операционной системе и архитектуре.
После загрузки установите инструмент на ваш сервер или ПК.
Для Linux или macOS
Для пользователей без прав root:
Для пользователей root:
Для Windows
-
Скачайте файл и переименуйте его в
violet.exeили используйте PowerShell для переименования: -
Запустите инструмент в PowerShell.
Примечание: Если путь к инструменту не добавлен в переменные среды, при выполнении команд необходимо указывать полный путь.
Предварительные требования
Требования к правам доступа
- Необходимо предоставить действительные учетные данные платформы: либо имя пользователя и пароль, либо токен платформы.
- У учетной записи свойство роли должно быть установлено в
System, а имя роли должно бытьplatform-admin-system.
Примечание: Если свойство роли вашей учетной записи установлено в
Custom, вы не можете использовать этот инструмент.
Использование
Общие параметры
Некоторые команды violet принимают следующие параметры. См. разделы отдельных команд для получения сведений об использовании.
Параметры подключения к платформе
Чтобы создавать или управлять токенами платформы, войдите в Web Console платформы, откройте Profile > API Tokens и создайте токен с подходящим сроком действия. Подробнее см. API Authentication.
Пользователи внешнего провайдера идентификации (IdP) должны использовать токен платформы. Вход по имени пользователя и паролю выполняет аутентификацию только через локальное хранилище пользователей платформы. Если ваша учетная запись поступает от внешнего провайдера идентификации, например LDAP или OIDC, вход по имени пользователя и паролю завершится ошибкой — используйте вместо этого --platform-token.
Параметры image registry
Ограничение для IPv6-адресов
Для параметров --platform-address и --dest-repo:
- Если используется IP-адрес (а не доменное имя), формат IPv6 НЕ поддерживается
- Поддерживаются только адреса IPv4 или доменные имена
violet show
Перед загрузкой пакета используйте команду violet show, чтобы просмотреть его сведения.
violet list
При обновлении платформы используйте violet list, чтобы вывести список установленных расширений и экспортировать результат в YAML-файл. Сгенерированный файл затем можно загрузить в Alauda Cloud, чтобы необходимые пакеты расширений можно было скачать.
violet list охватывает расширения с жизненным циклом Aligned или Agnostic. Плагины Core следуют за обновлением кластера и не управляются через violet list.
Команда перечисляет следующие типы приложений:
- ModulePlugin — cluster plugins, у которых тип жизненного цикла
alignedилиagnostic. - OperatorBundle — установленные operators.
- Chart — приложения Helm chart, созданные из ссылок на chart.
По умолчанию команда выводит содержимое YAML в stdout и записывает его в apps.yaml в текущем каталоге.
Вы также можете выполнить аутентификацию с помощью токена платформы вместо имени пользователя и пароля:
Чтобы экспортировать только приложения, установленные в определенных кластерах, укажите несколько имен кластеров через запятую:
Пример вывода:
Необязательные флаги
См. Общие параметры для параметров подключения к платформе (--platform-address, --platform-username, --platform-password, --platform-token).
violet gc
Используйте violet gc для очистки неустановленных ресурсов Operator и Cluster Plugin, жизненный цикл которых — Aligned или Agnostic. Команда удаляет ресурсы, которые больше не установлены или больше не соответствуют установленной версии.
Команда может удалять следующие типы ресурсов:
- Artifact — артефакты для неустановленных operators.
- ArtifactVersion — старые версии артефактов для установленных operators. Текущая установленная CSV или версия сохраняется.
- ModulePlugin — cluster plugins, которые не установлены ни в одном кластере.
- ModuleConfig — устаревшие записи конфигурации cluster plugin.
violet gc определяет кандидатов на очистку, проверяя записи OperatorView и ModulePluginView в глобальном кластере.
violet gc удаляет ресурсы из глобального кластера и не предоставляет режима dry-run или операции отмены. Запускайте его только в рамках документированного окна обслуживания и перед использованием --clusters убедитесь в правильности целевых кластеров.
По умолчанию команда сканирует все кластеры, видимые пользователю платформы, и выводит сводку удаленных ресурсов.
Вы также можете выполнить аутентификацию с помощью токена платформы вместо имени пользователя и пароля:
Чтобы очистить только ресурсы, связанные с определенными кластерами, укажите несколько имен кластеров через запятую:
Пример вывода:
Если ресурсы не были удалены, команда выводит:
Необязательные флаги
См. Общие параметры для параметров подключения к платформе (--platform-address, --platform-username, --platform-password, --platform-token).
violet verify
Используйте команду violet verify, чтобы проверить подпись одного или нескольких пакетов перед их загрузкой.
Поддерживаются два метода проверки: checksum и GPG.
Пакет (.tgz) и соответствующий файл подписи должны находиться в одном каталоге.
Пример вывода:
Пояснение:
- Verified successfully with GPG — перечисленные файлы успешно проверены с использованием файлов подписи GPG (с расширением
.sig). - Verified successfully with checksum — файлы, проверенные с использованием файлов checksum (например,
.sha256), успешно прошли проверку целостности. - Verification failed — перечисленные файлы не прошли проверку из-за несовпадающих или недействительных подписей.
- No verification file found — в каталоге не найден соответствующий файл
.sig(GPG) или checksum-файл.
Необязательные флаги
violet push
Следующие примеры иллюстрируют распространенные сценарии использования.
Для параметров подключения к платформе и image registry см. Общие параметры.
Для неинтерактивного использования предпочтительно использовать --platform-token вместо --platform-password. См. Общие параметры.
Необязательные флаги
Когда указан --dest-repo, необходимо предоставить либо данные аутентификации image registry, либо --no-auth.
Загрузить Operator в несколько кластеров
- Если
--clustersне указан, Operator по умолчанию загружается в глобальный кластер.\
Загрузить Operator в резервный глобальный кластер
При использовании violet для загрузки пакетов в резервный кластер:
- Параметр
--dest-repo <VIP addr of standby cluster>ДОЛЖЕН быть указан - Параметр
--platform-addressДОЛЖЕН быть установлен в адрес доступа платформы резервного кластера - Необходимо предоставить либо данные аутентификации image registry резервного кластера, либо параметр
--no-auth
В противном случае пакеты будут загружены в image repository основного кластера, что не позволит резервному кластеру устанавливать или обновлять расширения.
Загрузить Cluster Plugin
- При загрузке Cluster Plugin указывать параметр
--clustersне требуется, поскольку платформа автоматически распределит его на основе конфигурации affinity. Если вы укажете--clusters, этот параметр будет проигнорирован.\
Загрузить Helm Chart в chart repository
- Helm Charts можно загружать только в репозиторий
public-chartsпо умолчанию, предоставляемый платформой.\
Загрузить все пакеты одновременно
Когда из Marketplace загружается несколько пакетов, их можно поместить в один каталог и загрузить все сразу:
Когда целевой объект обновления — глобальный кластер, параметр --clusters можно опустить, поскольку по умолчанию загрузка выполняется в глобальный кластер.
Однако когда целевой объект обновления — рабочий кластер, необходимо указать параметр --clusters <workload_cluster_name>.