【问题标题】:Openshift deployment strategy delegation through sa通过 sa 进行 Openshift 部署策略委托
【发布时间】:2018-10-28 19:29:41
【问题描述】:

我们有一个工具可以为我们公司的所有团队配置 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)

现在我们检索 sa 帐户 testuser 的 api 令牌 oc describe sa testuser (获取预定义的 testuser 令牌) oc describe secret testuser-token-gd9sl(获取会话令牌)

通过 describe 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    

这种方法正确吗?它有什么缺点吗?有更好的方法吗?谁能推荐一下

【问题讨论】:

    标签: openshift okd


    【解决方案1】:

    这是我的建议,它可以让您的自动对象处理变得更好(我希望如此)。

    上面的流程(创建projectsa)应该在创建新的project时执行,然后你可以通过project template-Modifying the Template for New Projects使用任务。

    例如,您可以在模板中包含您的 serviceaccount yaml 定义。

    【讨论】:

    • 除非项目模板适用于集群中创建的每个项目,这并不一定方便。
    【解决方案2】:

    我们的做法基本相同。 在 Jenkins 管道中,我们通过模板 yaml 文件创建项目。 这包括项目元数据和注释、与管理员关联的命名用户(请求者的 LDAP 登录名)和一些预定义的拉取机密。 登录 Openshift 由 Keycloak 和 MFA 保护。之后管理员帐户自己可以根据需要编辑成员资格并添加服务帐户。

    我们也没有修改默认项目模板。

    【讨论】:

      猜你喜欢
      • 2016-12-22
      • 1970-01-01
      • 2020-02-27
      • 1970-01-01
      • 2013-04-17
      • 2013-04-15
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      相关资源
      最近更新 更多