首页 > 解决方案 > 如何在 Openshift 模板中将用户添加到 ClusterRoleBinding

问题描述

我是 OpenShift 和创建模板的新手。现在我想编写一个模板来为某个用户创建一个新的命名空间。我的一个用户(jenkins)应该被添加到集群角色 system:controller:persistent-volume-binder。

到目前为止,我能够创建命名空间及其相应的策略绑定和角色绑定。

现在我想将“jenkins”添加到 ClusterRole system:controller:persistent-volume-binder。

# CLUSTERROLEBINDING
  - apiVersion: v1
  groupNames: null
  kind: ClusterRoleBinding
  metadata:
    name: system:controller:persistent-volume-binder
  roleRef:
    kind: ClusterRole
    name: system:controller:persistent-volume-binder
  subjects:
  - kind: ServiceAccount
    name: jenkins
    namespace: ${NAMESPACE_NAME}
  userNames:
  - system:serviceaccount:${NAMESPACE_NAME}:jenkins

处理和创建后,我收到以下错误消息:

Error from server (AlreadyExists): clusterrolebinding.authorization.openshift.io "system:controller:persistent-volume-binder" already exists

有人可以帮忙吗?

亲切的问候,莎拉

标签: templatesjenkinsyamlcontainersopenshift

解决方案


我在模板中发现了错误:

objects:在 apiVersion 之前丢失。现在它可以与 一起使用oc apply,因为无法创建已经存在的对象。正因为如此,我不得不从我的“命名空间”模板中删除这部分,并为集群角色绑定创建一个新的部分。

亲切的问候,莎拉


推荐阅读