Делегирование стратегии развертывания Openshift через sa - PullRequest
0 голосов
/ 28 октября 2018

У нас есть инструмент, который обеспечивает рабочий процесс ci / cd для всех команд нашей компании.В рамках обеспечения цепочки инструментов мы также автоматически создаем проект openshift.Я пытаюсь найти лучшую стратегию автоматической авторизации для процесса развертывания отдельной группы

Вот что мы делаем в настоящее время

Create a project (eg: testproject)
Create a service account(oc create sa testuser)
Add user to admin role for the project (oc policy add-role-to-user admin system:serviceaccount:testproject:testuser)

Теперь мы получаем токен API для учетной записи пользователя testuser oc descriptionsa testuser (Получить предопределенный токен testuser) oc description secret testuser-token-gd9sl (Получить токен сеанса)

С помощью команды description secret мы можем получить токен api.Мы даем эти токены API отдельным командам.

oc login https://192.219.152.34.nip.io –token=adfasdfsdaf23423  

Teams Once logged in as using their token , they are able to peform any api oerations in the scope of testproject. 
eg: oc create -f testproject-deploymentconfig.yml
    oc create -f testproject-service.yml    

Является ли этот подход правильным?у него есть какой-то недостаток?Есть ли лучший подход к этому?Может ли кто-нибудь предложить

Ответы [ 2 ]

0 голосов
/ 17 ноября 2018

Мы делаем это в основном так же.В рамках конвейера Jenkins мы создаем проект с помощью файла шаблона yaml.Сюда входят метаданные и аннотации проекта, именованный пользователь (логин LDAP запрашивающей стороны), связанный как администратор, и некоторые предопределенные секреты извлечения.Вход в Openshift обеспечивается Keycloak с MFA.И после этого учетная запись администратора сама может редактировать членство и добавлять учетные записи по мере необходимости.

Мы также не изменили шаблон проекта по умолчанию.

0 голосов
/ 29 октября 2018

Вот мое предложение, которое улучшит вашу автоматическую обработку объектов (надеюсь).

Выше процесса (create project и sa) должен быть выполнен при создании нового project, затемВы можете использовать задачу через project template - Изменение шаблона для новых проектов .

Например, вы можете включить в шаблон ваше определение serviceaccount yaml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...