2017-01-24 3 views
0

Мы пытаемся автоматизировать сборку и развертывание контейнеров для проектов, созданных в openshift v3.3. Из документации я вижу, что нам нужно будет использовать учетные записи служб для этого, но документация трудно выполнить, а примеры, которые я нашел в блогах, не выполняют задачу. Мой рабочий процесс следующий с примерами команд oc, которые я использую:Сбой при использовании учетных записей служб для автоматизации развертываний

BUILDER_TOKEN='xxx' 
DEPLOYER_TOKEN='xxx' 

# build and push the image works as expected 
docker build -t registry.xyz.com/want/want:latest . 
docker login --username=<someuser> --password=${BUILDER_TOKEN} registry.xyz.com 
docker push registry.xyz.com/<repo>/<image>:<tag> 

# This fails with error 
oc login https://api.xyz.com --token=${DEPLOYER_TOKEN} 
oc project <someproject> 
oc new-app registry.xyz.com/<repo>/<image>:<tag> 

Notice I login into the rest api interface, select the project and create the app but this fails with the following errors: 

error: User "system:serviceaccount:want:deployer" cannot create deploymentconfigs in project "default" 
error: User "system:serviceaccount:want:deployer" cannot create services in project "default" 

Любые идеи?

ответ

0

Учетные записи службы только имеют разрешение в своем собственном проекте по умолчанию. Вам необходимо предоставить доступ к развертыванию для развертывания в других проектах.

+0

Можете ли вы привести пример команды, пожалуйста? –

+0

Как вы можете видеть, документация не содержит подробностей здесь https://docs.openshift.org/latest/admin_guide/service_accounts.html. Я должен был упомянуть, что эта проблема существует на нашей выделенной платформе openshift, и я вижу проблему только при входе в систему как обычный пользователь. –

0

ОК, поэтому кажется, что использование учетной записи службы для достижения этой цели - это не лучший способ обойти вещи. Документация не помогает. Прецедент выше, является очень распространенным и правильным подход, чтобы просто вызвать новое приложение с именем изображения и соответствующим тегом:

oc new-app ${APP}:${TAG} 

Там нет необходимости возиться с учетными записями служб.

Смежные вопросы