Я работаю над сценарием, который копирует содержимое из моего локального каталога на виртуальной машине в модуль OpenShift.
Скрипт работает нормально. Моя единственная жалоба заключается в том, что мне нужно использовать интерактивную часть oc login
для аутентификации моего пользователя каждый раз, когда я запускаю свой скрипт, как показано ниже:
oc login https://url.to.openshift
Authentication required for https://url.to.openshift:port (openshift)
Username: sampleUser
Password: samplePass
Я знаю, что могу запустить команду так: oc login --username=sampleUser --password=samplePass
oc login --token='sampleGeneratedTokenFromOpenShift'
Я бы предпочел не иметь жестко запрограммированного пользователя/пароля или токена в скрипте.
Есть ли способ сохранить учетные данные по умолчанию для моего пользователя в файле конфигурации для использования с oc login
?
Я обнаружил, что стандартный метод — создать учетную запись службы и использовать токен, сгенерированный как часть команды oc login
.
Команда создания сервисной учетной записи:$ oc create sa <user>
Затем учетную запись службы необходимо добавить в проект с определенной ролью.
Добавить роль в пользовательскую команду:$ oc policy add-role-to-user <role> system:serviceaccount:<project>:<user>
Учетная запись службы должна быть создана и иметь роль в проекте. В вашей команде входа в систему добавьте токен из сгенерированного секрета служебной учетной записи.
oc login --token=generatedServiceAccountToken