如何在不删除现有绑定的情况下在 k8s 中使用 Kustomize 添加新的 ClusterRoleBinding?
How to add a new ClusterRoleBinding with Kustomize in k8s without removing existing bindings?
当我输入 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
我可以通过将以下配置附加到上面的文件来为命名空间 ns3
添加一个新的 ClusterRoleBinding
:
- 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
它确实在命名空间 ns3
中添加了一个新的 ClusterRoleBinding
,但它会删除 ns1
和 ns2
的现有 ClusterRoleBinding
。
有没有办法在不删除现有的情况下使用 Kustomize 添加新的 ClusterRoleBinding
?
在元数据中给它们不同的名称。你没有制作新的,你只是覆盖了相同的。
当我输入 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
我可以通过将以下配置附加到上面的文件来为命名空间 ns3
添加一个新的 ClusterRoleBinding
:
- 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
它确实在命名空间 ns3
中添加了一个新的 ClusterRoleBinding
,但它会删除 ns1
和 ns2
的现有 ClusterRoleBinding
。
有没有办法在不删除现有的情况下使用 Kustomize 添加新的 ClusterRoleBinding
?
在元数据中给它们不同的名称。你没有制作新的,你只是覆盖了相同的。