Загрузка пакетов
Платформа предоставляет командную утилиту 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Отправить только образы из всех пакетов в каталогеСоздать только 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 — 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 signature files (с расширением
.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. Если указан --dest-repo, необходимо предоставить либо данные аутентификации image registry, либо --no-auth. См. Общие параметры.
Загрузка Operator в несколько кластеров
- Если
--clustersне указан, Operator по умолчанию загружается в глобальный кластер.
Загрузка Operator в резервный глобальный кластер
Загрузка Cluster Plugin
- При загрузке Cluster Plugin указывать параметр
--clustersне нужно, поскольку платформа автоматически распределит его на основе конфигурации affinity. Если вы укажете--clusters, этот параметр будет проигнорирован.
Загрузка Helm Chart в chart repository
- Helm Chart можно загружать только в репозиторий
public-charts, предоставляемый платформой по умолчанию.
Отправить только образы из всех пакетов в каталоге
Когда из Marketplace загружено несколько пакетов, их можно поместить в один каталог и загрузить все сразу:
Создать только CR из всех пакетов в каталоге
Когда из Marketplace загружено несколько пакетов, их можно поместить в один каталог и загрузить все сразу:
Когда целевой объект обновления — глобальный кластер, параметр --clusters можно не указывать, поскольку по умолчанию загрузка выполняется в глобальный кластер.
Однако если целевой объект обновления — workload cluster, необходимо указать параметр --clusters <workload_cluster_name>.