我正在编写一个脚本,将内容从虚拟机上的本地目录复制到 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