From eb3820f925e55173a34174ecda3c00aeabbde633 Mon Sep 17 00:00:00 2001 From: Raphael Ribeiro Date: Thu, 15 Feb 2024 16:06:17 -0300 Subject: [PATCH] add the option to disable api server registration for metrics-server Signed-off-by: Raphael Ribeiro --- keda/README.md | 3 ++- keda/templates/metrics-server/apiservice.yaml | 2 ++ keda/values.yaml | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/keda/README.md b/keda/README.md index b9137bfa..142b66c2 100644 --- a/keda/README.md +++ b/keda/README.md @@ -67,7 +67,7 @@ their default values. | `certificates.certManager.duration` | string | `"8760h0m0s"` | Certificate duration | | `certificates.certManager.enabled` | bool | `false` | Enables Cert-manager for certificate management | | `certificates.certManager.generateCA` | bool | `true` | Generates a self-signed CA with Cert-manager. If generateCA is false, the secret with the CA has to be annotated with `cert-manager.io/allow-direct-injection: "true"` | -| `certificates.certManager.issuer` | object | `{"generate":true,"group":"cert-manager.io","kind":"ClusterIssuer","name":"foo-org-ca"}` | Reference to custom Issuer. If issuer.generate is false, then issuer.group, issuer.kind and issuer.name are required | +| `certificates.certManager.issuer` | object | `{"generate":true,"group":"cert-manager.io","kind":"ClusterIssuer","name":"foo-org-ca"}` | Reference to custom Issuer. | | `certificates.certManager.issuer.generate` | bool | `true` | Generates an Issuer resource with Cert-manager | | `certificates.certManager.issuer.group` | string | `"cert-manager.io"` | Custom Issuer group. Required when generate: false | | `certificates.certManager.issuer.kind` | string | `"ClusterIssuer"` | Custom Issuer kind. Required when generate: false | @@ -162,6 +162,7 @@ their default values. | `metricsServer.dnsPolicy` | string | `"ClusterFirst"` | Defined the DNS policy for the metric server | | `metricsServer.livenessProbe` | object | `{"failureThreshold":3,"initialDelaySeconds":5,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | Liveness probes for Metrics API Server ([docs](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)) | | `metricsServer.readinessProbe` | object | `{"failureThreshold":3,"initialDelaySeconds":5,"periodSeconds":3,"successThreshold":1,"timeoutSeconds":1}` | Readiness probes for Metrics API Server ([docs](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-readiness-probes)) | +| `metricsServer.registerAPIService` | bool | `true` | Register the Metrics API Server as External Metrics Provider / APIService. Useful when you already have an API registered for external metrics and want to do a smooth transition. | | `metricsServer.replicaCount` | int | `1` | Capability to configure the number of replicas for KEDA metric server. While you can run more replicas of our metric server, only one instance will used and serve traffic. You can run multiple replicas, but they will not improve the performance of KEDA, it could only reduce downtime during a failover. Learn more in [our documentation](https://keda.sh/docs/latest/operate/cluster/#high-availability). | | `metricsServer.revisionHistoryLimit` | int | `10` | ReplicaSets for this Deployment you want to retain (Default: 10) | | `metricsServer.useHostNetwork` | bool | `false` | Enable metric server to use host network | diff --git a/keda/templates/metrics-server/apiservice.yaml b/keda/templates/metrics-server/apiservice.yaml index ec44d6b2..81307696 100644 --- a/keda/templates/metrics-server/apiservice.yaml +++ b/keda/templates/metrics-server/apiservice.yaml @@ -1,3 +1,4 @@ +{{- if .Values.metricsServer.registerAPIService -}} apiVersion: apiregistration.k8s.io/v1 kind: APIService metadata: @@ -27,3 +28,4 @@ spec: version: v1beta1 groupPriorityMinimum: 100 versionPriority: 100 +{{- end -}} diff --git a/keda/values.yaml b/keda/values.yaml index 6bedab51..2ed25e82 100644 --- a/keda/values.yaml +++ b/keda/values.yaml @@ -125,6 +125,9 @@ metricsServer: # values: # - keda-operator-metrics-apiserver # topologyKey: "kubernetes.io/hostname" + # -- Register the Metrics API Server as External Metrics Provider / APIService. + # Useful when you already have an API registered for external metrics and want to do a smooth transition. + registerAPIService: true # -- Liveness probes for Metrics API Server ([docs](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)) livenessProbe: initialDelaySeconds: 5