templates - 如何在 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
有人可以帮忙吗?
亲切的问候,莎拉
解决方案
我在模板中发现了错误:
objects:
在 apiVersion 之前丢失。现在它可以与 一起使用oc apply
,因为无法创建已经存在的对象。正因为如此,我不得不从我的“命名空间”模板中删除这部分,并为集群角色绑定创建一个新的部分。
亲切的问候,莎拉
推荐阅读
- javascript - 是否可以验证单个路由参数?
- shell - Shell命令从列表中查找最高版本的内核
- php - 如何在 Twig HTML 表中显示来自递归 SQL 查询的分组数据?
- node.js - 正确的方法来弄清楚一个承诺有什么拒绝?
- matlab - 如何修复 MATLAB 中的负输入错误
- html - 我的操作按钮不断改变网格对象的大小
- ckeditor - 配置 CKEditor pasteFilter 以去除某些内联样式
- php - 将第二个 url 链接到与不同 url 相同的目录,而不将内容复制到第二个目录?
- javascript - 如何将 Array 转换为 ES6 新的 Map 类型?
- android - 从后台启动混合 Android 应用程序时 HTTP 调用中的奇怪行为