Создание Workbench
Содержание
Предварительные требованияСоздание Workbench через веб-консольПроцедураПодключение к WorkbenchРуководство по скрипту синхронизации образов DockerHubПредварительные требования для скриптаКонфигурация переменных окруженияОбязательные параметры (конфигурация целевого приватного реестра)Необязательные параметры (конфигурация исходного DockerHub)Пример 1: Базовое использование (наиболее распространённый вариант)Пример 2: Запуск однострочной командой (подходит для CI-сред)Пример 3: Полный запуск с аутентификацией DockerHub (для предотвращения Rate-Limit)Устранение неполадок и примечанияПредварительные требования
- Убедитесь, что у вас настроен и подключён к кластеру
kubectl. - Убедитесь, что вы создали
PVC.
- Войдите в систему и перейдите на страницу Alauda Container Platform.
- Нажмите Storage > PersistentVolumeClaims, чтобы перейти на страницу списка PVC.
- Найдите кнопку Create PVC, нажмите Create и введите необходимую информацию.
Создание Workbench через веб-консоль
Процедура
Войдите в систему и перейдите на страницу Alauda AI.
Нажмите Workbench, чтобы перейти на страницу списка Workbench.
Найдите кнопку Create, нажмите Create, вы перейдёте к форме создания, где сможете создать workbench, заполнив информацию.
Подключение к Workbench
После создания экземпляра workbench нажмите Workbench в левой навигационной панели; ваш экземпляр workbench должен появиться в списке. Когда статус станет Running, нажмите кнопку Connect, чтобы войти в workbench.
У нас есть встроенные ресурсы WorkspaceKind, готовые к использованию из коробки; вы можете увидеть два варианта в выпадающем меню.
Следующие дополнительные образы workbench доступны, но не встроены в платформу по умолчанию:
- alaudadockerhub/odh-workbench-jupyter-tensorflow-cuda-py312-ubi9
- alaudadockerhub/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-ubi9
- alaudadockerhub/odh-workbench-jupyter-pytorch-cuda-py312-ubi9
- alaudadockerhub/odh-workbench-jupyter-minimal-cpu-py312-ubi9
- alaudadockerhub/odh-workbench-jupyter-minimal-cuda-py312-ubi9
Если вы хотите использовать эти образы, сначала необходимо вручную синхронизировать их с вашим собственным реестром образов (например, с помощью инструмента skopeo).
Руководство по скрипту синхронизации образов DockerHub
sync-from-dockerhub.sh — это автоматизированный инструмент для синхронизации определённых образов DockerHub (особенно с очень большим размером, например, когда один слой превышает 7 ГБ) в приватный реестр образов (например, Harbor).
Поскольку образы большого размера очень подвержены ошибкам Out-Of-Memory (OOM) или таймаутам при прямой передаче (через pipeline или память) из-за сетевых колебаний, этот скрипт использует стратегию ретрансляции: загрузка в локальный кэш -> экспорт в tar-архив -> загрузка из tar-архива в целевой реестр. Это обеспечивает стабильную синхронизацию даже для файлов размером в десятки гигабайт. Кроме того, реализован механизм автоматической очистки временных файлов после завершения задачи или при возникновении ошибок, что защищает ваше дисковое пространство.
Предварительные требования для скрипта
Перед запуском скрипта убедитесь, что на машине, где вы его запускаете, установлены и доступны следующие инструменты:
bash(окружение выполнения)nerdctl(для загрузки образов и экспорта слоёв в tar-архивы)skopeo(для загрузки tar-архивов образов в целевой приватный реестр)
Конфигурация переменных окружения
Скрипт выполняет синхронизацию, считывая переменные окружения, что обеспечивает гибкость использования без необходимости менять код.
Обязательные параметры (конфигурация целевого приватного реестра)
Необязательные параметры (конфигурация исходного DockerHub)
Чтобы избежать ограничения по количеству запросов (Rate Limit) DockerHub при загрузке большого количества образов, можно указать свои учётные данные DockerHub для входа перед загрузкой. Если это не требуется, оставьте поля пустыми.
Пример 1: Базовое использование (наиболее распространённый вариант)
Если вам нужно только синхронизировать образы, определённые в скрипте, в ваш приватный Harbor:
Пример 2: Запуск однострочной командой (подходит для CI-сред)
Можно объявить переменные окружения и запустить скрипт в одной строке. Такой способ не загрязняет текущие переменные окружения Shell:
Пример 3: Полный запуск с аутентификацией DockerHub (для предотвращения Rate-Limit)
Если вы часто загружаете образы с одной машины, DockerHub может отклонять запросы. В этом случае укажите свои учётные данные DockerHub:
Устранение неполадок и примечания
- Дисковое пространство: Поскольку скрипт временно сохраняет очень большие образы (например, 13 ГБ) в виде
tar-архивов, убедитесь, что в каталоге/tmpвашей системы (или в корневом разделе, на котором он расположен) достаточно свободного места (рекомендуется не менее 30 ГБ). По умолчанию скрипт использует каталог/tmp/workbench-images-export-from-hubдля промежуточного хранения. - Таймауты передачи: В текущем скрипте установлен таймаут 120 минут (
SKOPEO_TIMEOUT="120m") для загрузки больших файлов. Если процесс прерывается из-за очень низкой скорости сети, вы можете изменить это значение в начале скрипта любым текстовым редактором. - Изменение списка образов: Если есть образы, которые вы не хотите синхронизировать, просто откройте
sync-from-dockerhub.shи закомментируйте соответствующие строки в массивеWORKBENCH_IMAGESс помощью#(аналогично тому, как были отфильтрованы минимальные образы вsync.sh).
После того как образ появится в вашем реестре, вам также нужно добавить соответствующую конфигурацию в поле imageConfig ресурса WorkspaceKind, который вы планируете использовать. Ниже приведён пример патча YAML, добавляющего новую конфигурацию образа в существующий WorkspaceKind:
Вы можете применить патч к используемому WorkspaceKind командой, похожей на следующую:
Эта команда применит JSON-патч к указанному WorkspaceKind и обновит его imageConfig, чтобы новый образ workbench стал доступен в интерфейсе создания workbench.
На практике вы можете адаптировать поля name, image и description в соответствии с образом, который вы синхронизировали, и соглашениями об именах в вашем кластере.
Также у нас встроены некоторые опции ресурсов, которые вы можете увидеть в выпадающем меню.