Настроить окружение для развертывания самостоятельного сервиса
-
Создайте Docker-образ в проекте и установите необходимые зависимости в скрипте сборки. Соберите образ.
-
Создайте секрет с паролем для вашего реестра контейнеров.
Если вы используете реестр Yandex Container Registry, аутентифицируйтесь по авторизованному ключу для сервисного аккаунта, который имеет необходимые роли и указан в настройках проекта:
-
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
-
Получите и сохраните в файл
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>
.