Как добавить новый ClusterRoleBinding с Kustomize в k8s без удаления существующих привязок?
Когда я печатаю 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 для ns1
а также ns2
.
Есть ли способ добавить новый ClusterRoleBinding
с Kustomize, не удаляя существующие?
1 ответ
Решение
Дайте им разные имена в метаданных. Вы не сделали новый, вы просто перезаписали тот же самый.