Search code examples
kubernetesargocdkeda

Error no matches for kind ScaledObject in version keda.sh/v1alpha1


I am trying to install KEDA through ArgoCD. Am getting the below error.

ERROR controller-runtime.source if kind is a CRD, it should be installed before calling Start {"kind": "ScaledJob.keda.sh", "error": "no matches for kind \"ScaledJob\" in version \"keda.sh/v1alpha1\""} github.com/go-logr/zapr.(*zapLogger).Error /go/pkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128 sigs.k8s.io/controller-runtime/pkg/source.(*Kind).Start /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.2/pkg/source/source.go:117 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1 /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.2/pkg/internal/controller/controller.go:140 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.2/pkg/internal/controller/controller.go:175 sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).startRunnable.func1 /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.2/pkg/manager/internal.go:661 2020-11-11T12:56:52.245Z ERROR controller-runtime.source if kind is a CRD, it should be installed before calling Start {"kind": "ScaledObject.keda.sh", "error": "no matches for kind \"ScaledObject\" in version \"keda.sh/v1alpha1\""} github.com/go-logr/zapr.(*zapLogger).Error /go/pkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128 sigs.k8s.io/controller-runtime/pkg/source.(*Kind).Start /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.2/pkg/source/source.go:117 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1 /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.2/pkg/internal/controller/controller.go:140 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.2/pkg/internal/controller/controller.go:175 sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).startRunnable.func1 /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.2/pkg/manager/internal.go:661 2020-11-11T12:56:52.245Z ERROR setup problem running manager {"error": "no matches for kind \"ScaledJob\" in version \"keda.sh/v1alpha1\""} github.com/go-logr/zapr.(*zapLogger).Error /go/pkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128 main.main /workspace/main.go:119 runtime.main/usr/local/go/src/runtime/proc.go:204

Specifications:

KEDA Version: 2.0 Kubernetes Version: 1.18


Solution

  • I was able to resolve this issue. I am going to share what I did, but if you want more background information I found this comment on the argo repo to be helpful: https://github.com/argoproj/argo-cd/issues/3663#issuecomment-712616591

    If you look at the difference in the files in the KEDA helm chart between version 2.0.0-rc2 and version 2.0.0, some changes were made. I reverted the following changes then repackaged the helm chart. The specific differences I am referencing are:

    • KEDA 2.0.0 chart does not have a "crd.yaml" file in the templates directory
    • KEDA 2.0.0 values.yaml does not have the spec "customResourceDefinition: \n\t create: true"
    • KEDA 2.0.0 does not have the metadata annotation "helm.sh/hook: crd install"
    • KEDA 2.0.0 changed the apiVesion of the metrics-apiservice template from .../v1beta to .../v1.

    I am not certain that it was neccesary to make all four of those modifications, but doing so fixed the issue for me.