Загрузка пакетов
Платформа предоставляет командную строку violet, которая используется для загрузки пакетов, скачанных из Marketplace в Customer Portal, на платформу.
violet поддерживает загрузку следующих типов пакетов:
- Operator
- Cluster Plugin
- Helm Chart
Когда статус пакета в Cluster Plugins или OperatorHub отображается как Absent, необходимо использовать этот инструмент для загрузки соответствующего пакета.
Процесс загрузки violet в основном включает следующие шаги:
- Извлечение и получение информации из пакета
- Отправка образов в реестр образов
- Создание ресурсов Artifact и ArtifactVersion на платформе
Содержание
Загрузка инструментаДля Linux или macOSДля WindowsПредварительные требованияИспользованиеОбщие параметрыПараметры подключения к платформеПараметры реестра образовviolet showviolet listДополнительные флагиviolet gcДополнительные флагиviolet verifyДополнительные флагиviolet pushДополнительные флагиЗагрузка Operator в несколько кластеровЗагрузка Operator в резервный глобальный кластерЗагрузка Cluster PluginЗагрузка Helm Chart в репозиторий chartОдновременная загрузка всех пакетовЗагрузка инструмента
Войдите в Customer Portal, перейдите на страницу Downloads и нажмите CLI Tools. Скачайте бинарный файл, который соответствует вашей операционной системе и архитектуре.
После загрузки установите инструмент на сервер или ПК.
Для Linux или macOS
Для пользователей, не имеющих root-прав:
Для пользователей root:
Для Windows
-
Скачайте файл и переименуйте его в
violet.exeили используйте PowerShell для переименования: -
Запустите инструмент в PowerShell.
Примечание: Если путь к инструменту не добавлен в переменные среды, при выполнении команд необходимо указывать полный путь.
Предварительные требования
Требования к правам доступа
- Необходимо указать действительные учетные данные платформы: имя пользователя и пароль или токен платформы.
- Для учетной записи свойство роли должно быть установлено в
System, а имя роли должно бытьplatform-admin-system.
Примечание: Если свойство роли вашей учетной записи установлено в
Custom, использовать этот инструмент нельзя.
Использование
Общие параметры
Некоторые команды violet принимают следующие параметры. Для получения сведений о конкретном использовании см. разделы отдельных команд.
Параметры подключения к платформе
Чтобы создавать токены платформы или управлять ими, войдите в веб-консоль платформы, откройте Profile > API Tokens и создайте токен с подходящим сроком действия. Подробности см. в разделе Аутентификация API.
Пользователи поставщика удостоверений (IdP) должны использовать токен платформы. Вход по имени пользователя и паролю выполняет аутентификацию только во внутреннем хранилище пользователей платформы. Если ваша учетная запись получена из внешнего поставщика удостоверений (например, LDAP или OIDC), вход по имени пользователя и паролю завершится ошибкой — используйте вместо этого --platform-token.
Параметры реестра образов
Ограничение для 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 — artifacts для неустановленных operators.
- ArtifactVersion — старые версии artifacts для установленных 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 signature files (с расширением
.sig). - Verified successfully with checksum — файлы, проверенные с использованием файлов checksum (например,
.sha256), прошли проверку целостности. - Verification failed — перечисленные файлы не прошли проверку из-за несоответствующих или недействительных подписей.
- No verification file found — в каталоге не найден соответствующий файл
.sig(GPG) или файл checksum.
Дополнительные флаги
violet push
Следующие примеры иллюстрируют типичные сценарии использования.
О параметрах подключения к платформе и реестру образов см. раздел Общие параметры.
Для неинтерактивного использования предпочтительно указывать --platform-token вместо --platform-password. См. раздел Общие параметры.
Дополнительные флаги
Если указан --dest-repo, необходимо предоставить либо сведения для аутентификации в реестре образов, либо --no-auth.
Загрузка Operator в несколько кластеров
- Если
--clustersне указан, Operator по умолчанию загружается в global cluster.\
Загрузка Operator в резервный глобальный кластер
При использовании violet для загрузки пакетов в резервный кластер:
- параметр
--dest-repo <VIP addr of standby cluster>ДОЛЖЕН быть указан - параметр
--platform-addressДОЛЖЕН быть установлен в адрес доступа платформы резервного кластера - необходимо предоставить либо сведения для аутентификации в реестре образов резервного кластера, либо параметр
--no-auth
В противном случае пакеты будут загружены в репозиторий образов primary cluster, что не позволит резервному кластеру устанавливать или обновлять расширения.
Загрузка Cluster Plugin
- При загрузке Cluster Plugin указывать параметр
--clustersне нужно, так как платформа автоматически распределит его на основе конфигурации affinity. Если вы укажете--clusters, этот параметр будет проигнорирован.\
Загрузка Helm Chart в репозиторий chart
- Helm Charts можно загружать только в репозиторий по умолчанию
public-charts, предоставляемый платформой.\
Одновременная загрузка всех пакетов
Когда из Marketplace загружено несколько пакетов, их можно поместить в один каталог и загрузить все сразу:
Когда целевым объектом обновления является global cluster , параметр --clusters можно опустить, поскольку по умолчанию загрузка выполняется в global cluster.
Однако, если целевым объектом обновления является workload cluster, параметр --clusters <workload_cluster_name> необходимо указать.