当我输入kubectl edit clusterrolebinding foo-role
时,我会看到类似的内容:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: foo-role
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: edit
subjects:
- kind: ServiceAccount
name: foo-user
namespace: ns1
- kind: ServiceAccount
name: foo-user
namespace: ns2
通过将以下配置附加到上述文件中,我可以为命名空间ClusterRoleBinding
添加新的ns3
:
- kind: ServiceAccount
name: foo-user
namespace: ns3
但是,我想使用Kustomize添加新的绑定,而不是手动修改上面的文件。
我尝试在下面应用.yaml文件:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: foo-role
selfLink: /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/foo-role
uid: 64a4a787-d5ab-4c83-be2b-476c1bcb6c96
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: edit
subjects:
- kind: ServiceAccount
name: foo-user
namespace: ns3
它确实在命名空间ClusterRoleBinding
中添加了一个新的ns3
,但是它将删除ClusterRoleBinding
和ns1
的现有ns2
。
是否可以使用Kustomize添加新的ClusterRoleBinding
而又不删除现有的?
答案 0 :(得分:2)
在元数据中给它们提供不同的名称。您没有制作一个新的,只是改写了一个。