-
Hi. TL;DR: What are the best practices settings for helm installation so that everyone can have their namespace scoped Strimzi installation which can be upgraded independently? We have k8s 1.20 cluster for development, where each developer has their own namespace for testing purposes. We are using Helm v3 for distribution and deployment so it would be easiest to just add Strimzi to chart dependencies. All trials below are using Strimzi chart version 0.21.1. Even though method in Trial no. 3 works, it looks to me like this is some kind of oversight or unintended behaviour. Trial no. 1: no configurationWhen running
Trial no. 2: createGlobalResources=falseThe first trial indicates that there is some conflicting global resources so let's try Both installations succeed but in both namespaces strimzi-cluster-operator is crashlooping.
Trial no. 3: Create global resources in one installationRunning Though this behaviour seems like it is not the intended solution and I'm worried wether it might stop working at some point. Also, what happens if due to one namespace is upgraded and those global resources go out of sync? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 5 replies
-
I'm not sure this is possible with our Helm Chart. There are some ClusterRoleBindings (for example https://github.com/strimzi/strimzi-kafka-operator/blob/master/helm-charts/helm3/strimzi-kafka-operator/templates/021-ClusterRoleBinding-strimzi-cluster-operator.yaml) which have a fixed name. And these will be created to point to the service account used by the operator. So when you install the Helm Chart multiple times, these resources will be overwriting each other. So only one operator will have the correct RBAC rights and the others will be getting errors. I guess the This can be in theory worked around by naming the ClusterRoleBinding resources differently - for example including the namespace of the operator in their name. But I guess the error from trial 1 would still prevent it from installing it properly. And TBH I do not know Helm well enough to understand if that can be worked around somehow. |
Beta Was this translation helpful? Give feedback.
I'm not sure this is possible with our Helm Chart. There are some ClusterRoleBindings (for example https://github.com/strimzi/strimzi-kafka-operator/blob/master/helm-charts/helm3/strimzi-kafka-operator/templates/021-ClusterRoleBinding-strimzi-cluster-operator.yaml) which have a fixed name. And these will be created to point to the service account used by the operator. So when you install the Helm Chart multiple times, these resources will be overwriting each other. So only one operator will have the correct RBAC rights and the others will be getting errors.
I guess the
createGlobalResources=false
doesn't create the cluster-scoped resources at all and that is why nothing woks in trial 2. I…