-
Hi, I wanted to remove the permission that grants the operator the ability to create/patch/update/delete ClusterRoleBindings. This config is too permissive to run in our org's multi-tenant environment. I understand this is needed by the operator to generate a ClusterRoleBinding for each new kafka cluster. And I understand it allows the broker init sequence to do a "get" on nodes so that it can configure rack information. We definitely want to continue to be able to do this so we will use other methods to grant clusters this permission. I've tried removing create/patch/update/delete from the strimzi-cluster-operator-global ClusterRole but have run into It seems that, in addition to the warning messages pasted below, it also seems that the failures are causing reconciliation to fail. So spinning up a new kafka cluster stops and the brokers do not start. Based on some earlier issues and PRs it seems like removing this permission is desirable. It almost seems like the code should allow this because of the use of What is the feasibility of always ignoring this rbac error or adding a flag to do so? Perhaps even better, a flag to avoid trying to create this rbac at all? Thanks! Steps to reproduce after a vanilla install on minikube:
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
It is fairly simple ... if you want to use the features which need the ClusterRoleBindings, you have to give the operator the rights to create it. If you do not want to give it the permissions, then fine, do not do it, but do not use the features which need it. In your case,
The ClusterRoleBinding RBAC allows the operator to only grant the right the operator has. So in this case it allows the cluster operator to give the Kafka brokers / Connect clusters the right to get nodes (or in theory get the storage classes). It does not allow it to grant anything else. I guess whether this is too permissive or not would be individual. But without these rights you cannot use the features depending on them. |
Beta Was this translation helpful? Give feedback.
It is fairly simple ... if you want to use the features which need the ClusterRoleBindings, you have to give the operator the rights to create it. If you do not want to give it the permissions, then fine, do not do it, but do not use the features which need it. In your case,
rackAwareness
is such feature. So you cannot have both.The ClusterRoleBinding RBAC allows the operator to only grant the right the operator has. So in this case it allows the cluster operator to give the Kafka brokers / Connect clusters the right to get nodes (or in theory get the storage classes). It does not allow it to grant anything els…