【发布时间】:2020-05-27 12:17:09
【问题描述】:
这是我现有的集群角色绑定
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: example-role
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: test-role
subjects:
- kind: ServiceAccount
name: test-sa
namespace: ns1
我计划在另一个命名空间(例如:ns2)中添加相同的 ServiceAccount (test-sa),并将其与我的 ClusterRole "test-role" 绑定。
我尝试过的
subjects:
- kind: ServiceAccount
name: test-sa
namespace: ns2
我尝试应用上面的 yaml 文件,如
kubectl patch clusterrolebinding <clusterrolebinding-name> --type="strategic" --patch "$(cat role.yaml)"
结果
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: example-role
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: test-role
subjects:
- kind: ServiceAccount
name: test-sa
namespace: ns2
它正在新命名空间中添加带有 sa 的 ClusterRoleBinding,但我在命名空间 ns1 中的现有绑定已被删除.. 有没有办法合并新更改而不是替换 ..iam 尝试以自动化方式进行......就像用于编辑此 cluserrolebinding 的 bash 脚本,这就是我选择 kubectl 补丁的原因
【问题讨论】:
标签: kubernetes kustomize