Что такое Service Account и как его создать?
Service Account (учетная запись службы) — это учетная запись, которая позволяет компоненту приложения напрямую обращаться к API без предоставления учетных данных пользователя.
По умолчанию в каждом проекте создается три Service Account:
- Builder
Используется в процессе сборки. Данному Service Account присваивается роль
system:image-builder
, которая позволяет передавать образы в любой Image Stream в проекте с использованием внутреннего реестра Docker.- Deployer
Используется в процессе развертывания. Данному Service Account присваивается роль
system:deployer
, которая позволяет изменять Replication Controllers и поды в проекте.- Default
Используется для запуска подов в проекте и для других задач, например, для обращения к внешним image registry, чтобы загрузить образы контейнеров.
Чтобы создать Service Account в текущем проекте с помощью CLI, используйте команду
oc create sa <service_account_name>
. Добавьте флаг-n <project name>
для создания Service Account в другом проекте.Для Service Account можно назначить роль так же, как и для аккаунта пользователя.
Например, чтобы добавить роль view к Service Account с именем robot в проекте
new-project
, используйте команду:oc policy add-role-to-user view system:serviceaccount:new-project:robot