Что такое 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