Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1" #1818

Closed
shimron opened this issue Oct 19, 2020 · 6 comments

Comments

@shimron
Copy link

shimron commented Oct 19, 2020

Bug Report

What did you do?
trying to install olm

What did you expect to see?
olm installed

What did you see instead? Under which circumstances?

[root@test-tke-node-6 operator-lifecycle-manager]# ./install.sh 0.16.1 unable to recognize "https://github.com/operator-framework/operator-lifecycle-manager/releases/download/0.16.1/crds.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1" unable to recognize "https://github.com/operator-framework/operator-lifecycle-manager/releases/download/0.16.1/crds.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1" unable to recognize "https://github.com/operator-framework/operator-lifecycle-manager/releases/download/0.16.1/crds.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1" unable to recognize "https://github.com/operator-framework/operator-lifecycle-manager/releases/download/0.16.1/crds.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1" unable to recognize "https://github.com/operator-framework/operator-lifecycle-manager/releases/download/0.16.1/crds.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1" unable to recognize "https://github.com/operator-framework/operator-lifecycle-manager/releases/download/0.16.1/crds.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1"

`[root@test-tke-node-6 operator-lifecycle-manager]# kubectl apply -f https://github.com/operator-framework/operator-lifecycle-manager/releases/download/0.16.1/crds.yaml

unable to recognize "https://github.com/operator-framework/operator-lifecycle-manager/releases/download/0.16.1/crds.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1"
unable to recognize "https://github.com/operator-framework/operator-lifecycle-manager/releases/download/0.16.1/crds.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1"
unable to recognize "https://github.com/operator-framework/operator-lifecycle-manager/releases/download/0.16.1/crds.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1"
unable to recognize "https://github.com/operator-framework/operator-lifecycle-manager/releases/download/0.16.1/crds.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1"
unable to recognize "https://github.com/operator-framework/operator-lifecycle-manager/releases/download/0.16.1/crds.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1"
unable to recognize "https://github.com/operator-framework/operator-lifecycle-manager/releases/download/0.16.1/crds.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1"`

Environment

  • operator-lifecycle-manager version:
    0.16.1

  • Kubernetes version information:

Client Version: version.Info{Major:"1", Minor:"14+", GitVersion:"v1.14.3-tke.6.rc2", GitCommit:"c6a529c390bc93cc394c12ec38f22b5fcfb460fd", GitTreeState:"clean", BuildDate:"2019-11-14T12:19:15Z", GoVersion:"go1.12.13", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"14+", GitVersion:"v1.14.3-tke.6.rc2", GitCommit:"c6a529c390bc93cc394c12ec38f22b5fcfb460fd", GitTreeState:"clean", BuildDate:"2019-11-14T12:19:25Z", GoVersion:"go1.12.13", Compiler:"gc", Platform:"linux/amd64"}

@kevinrizza
Copy link
Member

@shimron

no matches for kind "CustomResourceDefinition" that implies that the version of kubernetes you're using doesn't have the CRD type available. Can you confirm what version or flavor kube you have installed? OLM and the Operators it installs relies on CRDs to install and use custom apis.

@shimron
Copy link
Author

shimron commented Oct 19, 2020

@shimron

no matches for kind "CustomResourceDefinition" that implies that the version of kubernetes you're using doesn't have the CRD type available. Can you confirm what version or flavor kube you have installed? OLM and the Operators it installs relies on CRDs to install and use custom apis.

[root@test-tke-node-6 operator-lifecycle-manager]# kubectl api-resources --api-group=apiextensions.k8s.io -o wide NAME SHORTNAMES APIGROUP NAMESPACED KIND VERBS customresourcedefinitions crd,crds apiextensions.k8s.io false CustomResourceDefinition [create delete deletecollection get list patch update watch]

does this mean the CRD type available ?

@exdx
Copy link
Member

exdx commented Oct 19, 2020

@shimron v1 CRDs were introduced in kuberentes v1.16 (see https://www.openshift.com/blog/a-look-into-the-technical-details-of-kubernetes-1-16) for more info. OLM uses v1 CRDs exclusively. Installing v1 CRDs on a 1.14 cluster won't work because that group/version is not available (only apiextensions.k8s.io/v1beta1 is on the cluster).

We are tracking support for v1beta1 CRDs again in #1726 but my recommendation would be to upgrade the cluster, if possible

@shimron
Copy link
Author

shimron commented Oct 20, 2020

@shimron v1 CRDs were introduced in kuberentes v1.16 (see https://www.openshift.com/blog/a-look-into-the-technical-details-of-kubernetes-1-16) for more info. OLM uses v1 CRDs exclusively. Installing v1 CRDs on a 1.14 cluster won't work because that group/version is not available (only apiextensions.k8s.io/v1beta1 is on the cluster).

We are tracking support for v1beta1 CRDs again in #1726 but my recommendation would be to upgrade the cluster, if possible

Got it, thx.

BTW, is it possible to deploy operator without OLM ? We're using k8s v1.14, upgrading the cluster would be a big step for us.
@exdx

@kevinrizza
Copy link
Member

@shimron If you want to use a version of OLM that is compatible with your older version of Kubernetes, you can just install an older version of OLM. It looks like the latest version of OLM that still used v1beta1 crds is 0.14.1: https://github.com/operator-framework/operator-lifecycle-manager/tree/master/deploy/upstream/manifests/0.14.1

You cannot deploy any OLM packaged operator without OLM, because their packaging format relies on OLM APIs installed on your cluster that can reconcile the ClusterServiceVersion type. There are some operators on operatorhub.io that are packaged as helm charts, but the majority there opt into the reconciliation and lifecycle features that OLM provides and require it as a result.

@shimron
Copy link
Author

shimron commented Oct 21, 2020

@kevinrizza Thx,I’ll try.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants