Skip to content

Keda ​

The kedas.operator.kyma-project.io CustomResourceDefinition (CRD) is a detailed description of the Keda module configuration that you want to install on your cluster. To get the up-to-date CRD and show the output in the YAML format, run this command:

bash
kubectl get crd kedas.operator.kyma-project.io -o yaml

Sample Custom Resource ​

The following Keda custom resource (CR) shows configuration of the Keda module with custom logging settings and resource limits.

yaml
apiVersion: operator.kyma-project.io/v1alpha1
kind: Keda
metadata:
  finalizers:
  - keda-manager.kyma-project.io/deletion-hook
  name: default
  namespace: kyma-system
spec:
  logging:
    operator:
      level: "info"
      format: "json"
      timeEncoding: "rfc3339"
    metricServer:
      level: "info"
      format: "json"
      timeEncoding: "rfc3339"
    admissionWebhook:
      level: "info"
      format: "json"
      timeEncoding: "rfc3339"
  resources:
    operator:
      limits:
        cpu: "800m"
        memory: "800Mi"
      requests:
        cpu: "50m"
        memory: "100Mi"
    metricServer:
      limits:
        cpu: "800m"
        memory: "800Mi"
      requests:
        cpu: "50m"
        memory: "100Mi"
    admissionWebhook:
      limits:
        cpu: "800m"
        memory: "800Mi"
      requests:
        cpu: "50m"
        memory: "100Mi"
status:
  conditions:
  - lastTransitionTime: "2024-01-15T10:00:00Z"
    message: Keda installed
    reason: Verified
    status: "True"
    type: Installed
  kedaVersion: 2.16.0
  served: "True"
  state: Ready

Custom Resource Parameters ​

For details, see the Keda specification file.

keda.operator.kyma-project.io/v1alpha1 ​

Spec:

ParameterTypeDescription
istioobjectIstio sidecar injection configuration.
istio.​operatorobjectIstio configuration for the KEDA operator component.
istio.​operator.​enabledSidecarInjectionbooleanEnables Istio sidecar injection for the KEDA operator Pod.
istio.​metricServerobjectIstio configuration for the KEDA metrics server component.
istio.​metricServer.​enabledSidecarInjectionbooleanEnables Istio sidecar injection for the KEDA metrics server Pod.
loggingobjectLogging configuration for KEDA components.
logging.​operatorobjectLogging configuration for the KEDA operator component.
logging.​operator.​levelstringLog level. The allowed values are debug, info, and error. The default value is info.
logging.​operator.​formatstringLog format. The allowed values are json, text, and console. The default value is console.
logging.​operator.​timeEncodingstringLog timestamp format. The allowed values are epoch, millis, nano, iso8601, rfc3339, and rfc3339nano. The default value is rfc3339.
logging.​metricServerobjectLogging configuration for the KEDA metrics server component.
logging.​metricServer.​levelstringLog level. The allowed values are debug, info, and error. The default value is info.
logging.​metricServer.​formatstringLog format. The allowed values are json, text, and console. The default value is console.
logging.​metricServer.​timeEncodingstringLog timestamp format. The allowed values are epoch, millis, nano, iso8601, rfc3339, and rfc3339nano. The default value is rfc3339.
logging.​admissionWebhookobjectLogging configuration for the KEDA admission webhook component.
logging.​admissionWebhook.​levelstringLog level. The allowed values are debug, info, and error. The default value is info.
logging.​admissionWebhook.​formatstringLog format. The allowed values are json, text, and console. The default value is console.
logging.​admissionWebhook.​timeEncodingstringLog timestamp format. The allowed values are epoch, millis, nano, iso8601, rfc3339, and rfc3339nano. The default value is rfc3339.
resourcesobjectCPU and memory resource requirements for KEDA components.
resources.​operatorobjectResource requirements for the KEDA operator component.
resources.​operator.​limits.​cpustringCPU limit for the KEDA operator.
resources.​operator.​limits.​memorystringMemory limit for the KEDA operator.
resources.​operator.​requests.​cpustringCPU request for the KEDA operator.
resources.​operator.​requests.​memorystringMemory request for the KEDA operator.
resources.​metricServerobjectResource requirements for the KEDA metrics server component.
resources.​metricServer.​limits.​cpustringCPU limit for the KEDA metrics server.
resources.​metricServer.​limits.​memorystringMemory limit for the KEDA metrics server.
resources.​metricServer.​requests.​cpustringCPU request for the KEDA metrics server.
resources.​metricServer.​requests.​memorystringMemory request for the KEDA metrics server.
resources.​admissionWebhookobjectResource requirements for the KEDA admission webhook component.
resources.​admissionWebhook.​limits.​cpustringCPU limit for the KEDA admission webhook.
resources.​admissionWebhook.​limits.​memorystringMemory limit for the KEDA admission webhook.
resources.​admissionWebhook.​requests.​cpustringCPU request for the KEDA admission webhook.
resources.​admissionWebhook.​requests.​memorystringMemory request for the KEDA admission webhook.
env[]objectList of environment variables to set in KEDA components. Follows the Kubernetes EnvVar specification.
env[].​name (required)stringName of the environment variable.
env[].​valuestringValue of the environment variable.
env[].​valueFromobjectSource for the environment variable value, such as a ConfigMap or Secret reference.
podAnnotationsobjectAnnotations to add to the Pods of KEDA components.
podAnnotations.​operatormapAnnotations for the KEDA operator Pods.
podAnnotations.​metricServermapAnnotations for the KEDA metrics server Pods.
podAnnotations.​admissionWebhookmapAnnotations for the KEDA admission webhook Pods.

Status:

ParameterTypeDescription
statestringSignifies the current state of the Keda module. The value can be one of Ready, Processing, Error, Warning, or Deleting.
served (required)stringSignifies that the current Keda CR is managed. The value can be True or False.
kedaVersionstringVersion of the installed KEDA.
conditions[]objectConditions associated with the Keda CR status.
conditions.​lastTransitionTime (required)stringSpecifies the last time the condition transitioned from one status to another.
conditions.​message (required)stringProvides a human-readable message indicating details about the transition.
conditions.​observedGenerationintegerRepresents the .metadata.generation that the condition was set based upon.
conditions.​reason (required)stringContains a programmatic identifier indicating the reason for the condition's last transition.
conditions.​status (required)stringSpecifies the status of the condition. The value is either True, False, or Unknown.
conditions.​type (required)stringSpecifies the condition type in camelCase.

Keda CR Conditions ​

This section describes the possible states of the Keda CR. The following condition types are used: Installed, DeploymentFailure, and Deleted.

NoCR StateCondition typeCondition statusCondition reasonRemark
1ReadyInstalledtrueVerifiedServer ready
2ProcessingInstalledunknownInitializedInitialized
3ProcessingInstalledunknownVerificationVerification in progress
4ErrorInstalledfalseApplyObjErrorApply object error
5ErrorInstalledfalseKedaDeploymentUpdateErrDeployment update error
6ErrorInstalledfalseVerificationErrVerification error
7ErrorInstalledfalseKedaDuplicatedOnly one instance of Keda is allowed
8ErrorDeploymentFailuretrueDeploymentReplicaFailureWorkloads have the ReplicaFailure condition
9DeletingDeletedunknownDeletionDeletion in progress
10DeletingDeletedtrueDeletedKeda module deleted
11ErrorDeletedfalseDeletionErrDeletion failed
12ErrorInstalledfalseValidationErrValidation error