apache / rocketmq-operator

Apache RocketMQ Operator
https://rocketmq.apache.org/
Apache License 2.0
308 stars 126 forks source link

Inconsistent serviceAccountNames #196

Closed sinloss closed 5 months ago

sinloss commented 7 months ago

BUG REPORT

When trying to deploy the rocketmq-operator using the chart , though rare, user may want to assign a different name for the serviceAccountName 1.1. In those cases, the helm chart is expected to work properly1.2. Yet with the current configuration, user could run into an error saying serviceaccount "rocketmq-operator" not found1.3.

This issue was first encountered on a self-hosted Kubernetes v1.25.4 cluster with 2 nodes. The deployment was created using Helm version.BuildInfo{Version:"v3.12.0", GitCommit:"c9f554d75773799f72ceef38c51210f1842a1dea", GitTreeState:"clean", GoVersion:"go1.20.3"}.

The root of this issue is that on one hand in the operator.yaml the serviceAccountName is expected to be rocketmq-operator, on the other hand in the role_binding.yaml and the service_account.yaml the serviceAccountName is expected to be {{ template "rocketmq-operator.serviceAccountName" . }}. Hence, the {{ template "rocketmq-operator.serviceAccountName" . }} could produce names the operator.yaml will never acknowledge.


1.1 What did you do (The steps to reproduce)? 1.2 What did you expect to see? 1.3 What did you see instead?