0

当我输入时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的 s for ns1and ns2

有没有办法在ClusterRoleBinding不删除现有内容的情况下使用 Kustomize 添加新内容?

4

1 回答 1

2

在元数据中给他们不同的名字。你没有做一个新的,你只是覆盖了同一个。

于 2020-03-13T02:10:35.043 回答