Настроить окружение для развертывания самостоятельного сервиса
-
Создайте Docker-образ в проекте и установите необходимые зависимости в скрипте сборки. Соберите образ.
-
Создайте секрет с паролем для вашего реестра контейнеров.
Если вы используете реестр Yandex Container Registry, аутентифицируйтесь по авторизованному ключу для сервисного аккаунта, который имеет необходимые роли и указан в настройках проекта:
-
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
-
Получите и сохраните в файл
key.jsonавторизованные ключи для вашего сервисного аккаунта:yc iam key create --service-account-name default-sa -o key.jsonРезультат:
id: aje8a87g4eaj******** service_account_id: aje3932acde3******** created_at: "2019-05-31T16:56:47Z" key_algorithm: RSA_2048 -
Выполните команду:
cat key.json | docker login \ --username json_key \ --password-stdin \ cr.yandexГде:
- Команда
cat key.jsonзаписывает содержимое файла с ключом в поток вывода. - Флаг
--password-stdinпозволяет читать пароль из потока ввода.
Результат:
Login Succeeded - Команда
Примечание
Срок жизни авторизованных ключей не ограничен, но вы всегда можете получить новые авторизованные ключи и повторить процедуру аутентификации, если что-то пошло не так.
-
-
Загрузите образ в реестр контейнеров. Для этого запустите ячейку с кодом:
#!:docker-publish <имя_образа>:<тег_образа> cr.yandex/<путь_к_образу>:<тег><имя_образа>— имя образа в DataSphere;<тег_образа>— тег образа в DataSphere;<путь_к_образу>— путь к образу Container Registry видаcr.yandex/<идентификатор_реестра>/<имя_образа>;<тег>— тег образа.
В процессе загрузки укажите имя пользователя и выберите секрет с паролем. При авторизации в Container Registry в качестве имени пользователя введите тип токена —
json_key, вместо пароля укажите секрет. -
В форме создания ноды укажите путь к образу в формате
cr.yandex/<адрес_реестра>:<tag>.