Skip to content

Commit ac335ce

Browse files
authored
keda-operator: configurable leader election lease resource name (#836)
Signed-off-by: Jan Wozniak <wozniak.jan@gmail.com>
1 parent 64123e7 commit ac335ce

3 files changed

Lines changed: 7 additions & 0 deletions

File tree

keda/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ their default values.
141141
| `operator.dnsPolicy` | string | `"ClusterFirst"` | Defined the DNS policy for the operator |
142142
| `operator.extraContainers` | list | `[]` | Additional containers to run as part of the operator deployment |
143143
| `operator.extraInitContainers` | list | `[]` | Additional init containers to run as part of the operator deployment |
144+
| `operator.leaderElectionID` | string | `nil` | When set, overrides the leader election Lease resource name via the `--leader-election-id` flag. When unset (default), the flag is not passed and the operator uses its built-in default (`operator.keda.sh`). Override to allow multiple independent KEDA operator deployments in the same namespace. |
144145
| `operator.livenessProbe` | object | `{"failureThreshold":3,"initialDelaySeconds":25,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | Liveness probes for operator ([docs](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)) |
145146
| `operator.name` | string | `"keda-operator"` | Name of the KEDA operator |
146147
| `operator.nodeSelector` | object | `{}` | Node selector for pod scheduling ([docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/)) |

keda/templates/manager/deployment.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,9 @@ spec:
7979
- "/keda"
8080
args:
8181
- "--leader-elect"
82+
{{- if .Values.operator.leaderElectionID }}
83+
- "--leader-election-id={{ .Values.operator.leaderElectionID }}"
84+
{{- end }}
8285
- "--disable-compression={{ .Values.operator.disableCompression}}"
8386
- "--zap-log-level={{ .Values.logging.operator.level }}"
8487
- "--zap-encoder={{ .Values.logging.operator.format }}"

keda/values.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ operator:
9696
# --Disable response compression for k8s restAPI in client-go.
9797
# Disabling compression simply means that turns off the process of making data smaller for K8s restAPI in client-go for faster transmission.
9898
disableCompression: true
99+
# -- Leader election ID (Lease resource name) for the controller manager. Defaults to operator.keda.sh.
100+
# Override to allow multiple independent KEDA operator deployments in the same namespace.
101+
# leaderElectionID: "operator.keda.sh"
99102
# -- DNS config for KEDA operator pod
100103
dnsConfig: {}
101104
# use ClusterFirstWithHostNet if `useHostNetwork: true` https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy

0 commit comments

Comments
 (0)