Загрузка пакетов
Платформа предоставляет командную утилиту 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Передать только образы из всех пакетов в каталогеСоздать только CR из всех пакетов в каталогеЗагрузка инструмента
Войдите в 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.
Пользователи identity provider (IdP) должны использовать токен платформы. Вход с именем пользователя и паролем выполняет аутентификацию только через локальное хранилище пользователей платформы. Если ваша учетная запись создана во внешнем identity provider (например, 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 — плагины кластера, для которых тип жизненного цикла равен
alignedилиagnostic. - OperatorBundle — установленные Operator.
- Chart — приложения Helm Chart, созданные на основе chart references.
По умолчанию команда выводит содержимое YAML в stdout и записывает его в apps.yaml в текущем каталоге.
Можно также выполнить аутентификацию с помощью токена платформы вместо имени пользователя и пароля:
Чтобы экспортировать только приложения, установленные в определенных кластерах, укажите несколько имен кластеров через запятую:
Пример вывода:
Необязательные флаги
Сведения о параметрах подключения к платформе (--platform-address, --platform-username, --platform-password, --platform-token) см. в разделе Общие параметры.
violet gc
Используйте violet gc для очистки ресурсов Operator и Cluster Plugin, которые не установлены и жизненный цикл которых — Aligned или Agnostic. Команда удаляет ресурсы, которые больше не установлены или больше не соответствуют установленной версии.
Команда может удалять следующие типы ресурсов:
- Artifact — артефакты для неустановленных Operator.
- ArtifactVersion — старые версии артефактов для установленных Operator. Текущий установленный CSV или версия сохраняется.
- ModulePlugin — плагины кластера, которые не установлены ни в одном кластере.
- ModuleConfig — устаревшие записи конфигурации плагинов кластера.
violet gc определяет кандидатов на очистку, проверяя записи OperatorView и ModulePluginView в глобальном кластере.
violet gc удаляет ресурсы из глобального кластера и не предоставляет режим dry-run или операцию отмены. Запускайте его только во время задокументированного окна обслуживания и перед использованием --clusters обязательно проверьте целевые кластеры.
По умолчанию команда сканирует все кластеры, видимые пользователю платформы, и выводит сводку удаленных ресурсов.
Можно также выполнить аутентификацию с помощью токена платформы вместо имени пользователя и пароля:
Чтобы очистить только ресурсы, связанные с определенными кластерами, укажите несколько имен кластеров через запятую:
Пример вывода:
Если ресурсы не были удалены, команда выводит:
Необязательные флаги
Сведения о параметрах подключения к платформе (--platform-address, --platform-username, --platform-password, --platform-token) см. в разделе Общие параметры.
violet verify
Используйте команду violet verify, чтобы проверить подпись одного или нескольких пакетов перед их загрузкой.
Поддерживаются два метода проверки: checksum и GPG.
Пакет (.tgz) и соответствующий файл подписи должны находиться в одном каталоге.
Пример вывода:
Пояснение:
- Успешно проверено с помощью GPG — перечисленные файлы успешно проверены с использованием файлов подписи GPG (с расширением
.sig). - Успешно проверено с помощью checksum — файлы, проверенные с помощью файлов checksum (например,
.sha256), прошли проверку целостности. - Проверка не выполнена — перечисленные файлы не прошли проверку из-за несоответствующих или недействительных подписей.
- Файл проверки не найден — в каталоге не найден соответствующий файл
.sig(GPG) или файл checksum.
Необязательные флаги
violet push
Следующие примеры иллюстрируют распространенные сценарии использования.
Сведения о параметрах подключения к платформе и image registry см. в разделе Общие параметры.
Для неинтерактивного использования предпочтительно использовать --platform-token вместо --platform-password. См. Общие параметры.
Необязательные флаги
При загрузке расширений в резервный кластер укажите --dest-repo. Если указан --dest-repo, необходимо передать либо сведения аутентификации для image registry, либо --no-auth. См. Общие параметры.
Загрузка Operator в несколько кластеров
- Если
--clustersне указан, Operator по умолчанию загружается в глобальный кластер.
Загрузка Operator в резервный глобальный кластер
Загрузка Cluster Plugin
- При загрузке Cluster Plugin указывать параметр
--clustersне требуется, так как платформа автоматически распределит его на основе конфигурации affinity. Если вы укажете--clusters, этот параметр будет проигнорирован.
Загрузка Helm Chart в репозиторий chart
- Helm Charts можно загружать только в репозиторий
public-chartsпо умолчанию, предоставляемый платформой.
Передать только образы из всех пакетов в каталоге
Когда из Marketplace загружается несколько пакетов, их можно поместить в один каталог и загрузить все сразу:
Создать только CR из всех пакетов в каталоге
Когда из Marketplace загружается несколько пакетов, их можно поместить в один каталог и загрузить все сразу:
Когда целевым объектом обновления является глобальный кластер, параметр --clusters можно опустить, так как по умолчанию загрузка выполняется в глобальный кластер.
Однако, когда целевым объектом обновления является workload cluster, необходимо указать параметр --clusters <workload_cluster_name>.