question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

CustomResourceDefinition "inferenceservices.serving.kubeflow.org" is invalid, during installation of v0.4.0

See original GitHub issue

/kind bug

What steps did you take and what happened: I am trying to install standalone kfserving on minikube. I have installed Istio, knative and cert-manger. When I install kfserving I notice the log saying “The CustomResourceDefinition “inferenceservices.serving.kubeflow.org” is invalid”.

namespace/kfserving-system created
mutatingwebhookconfiguration.admissionregistration.k8s.io/inferenceservice.serving.kubeflow.org created
role.rbac.authorization.k8s.io/leader-election-role created
clusterrole.rbac.authorization.k8s.io/kfserving-manager-role created
clusterrole.rbac.authorization.k8s.io/kfserving-proxy-role created
rolebinding.rbac.authorization.k8s.io/leader-election-rolebinding created
clusterrolebinding.rbac.authorization.k8s.io/kfserving-manager-rolebinding created
clusterrolebinding.rbac.authorization.k8s.io/kfserving-proxy-rolebinding created
configmap/inferenceservice-config created
secret/kfserving-webhook-server-secret created
service/kfserving-controller-manager-metrics-service created
service/kfserving-controller-manager-service created
service/kfserving-webhook-server-service created
statefulset.apps/kfserving-controller-manager created
certificate.cert-manager.io/serving-cert created
issuer.cert-manager.io/selfsigned-issuer created
validatingwebhookconfiguration.admissionregistration.k8s.io/inferenceservice.serving.kubeflow.org created
The CustomResourceDefinition "inferenceservices.serving.kubeflow.org" is invalid:
* spec.validation.openAPIV3Schema.properties[spec].properties[canary].properties[explainer].properties[custom].properties[container].properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property
* spec.validation.openAPIV3Schema.properties[spec].properties[canary].properties[predictor].properties[custom].properties[container].properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property
* spec.validation.openAPIV3Schema.properties[spec].properties[canary].properties[transformer].properties[custom].properties[container].properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property
* spec.validation.openAPIV3Schema.properties[spec].properties[default].properties[predictor].properties[custom].properties[container].properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property
* spec.validation.openAPIV3Schema.properties[spec].properties[default].properties[transformer].properties[custom].properties[container].properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property
* spec.validation.openAPIV3Schema.properties[spec].properties[default].properties[explainer].properties[custom].properties[container].properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property

And the pod kfserving-controller-manager-0 ends up in CrashLoopBackOff.

kubectl logs kfserving-controller-manager-0 -n kfserving-system -c manager

{"level":"info","ts":1596828783.325014,"logger":"controller-runtime.controller","msg":"Starting EventSource","controller":"kfserving-controller","source":"kind source: /, Kind="}
{"level":"info","ts":1596828783.3255389,"logger":"controller-runtime.manager","msg":"starting metrics server","path":"/metrics"}
{"level":"info","ts":1596828783.4208002,"logger":"controller-runtime.webhook.webhooks","msg":"starting webhook server"}
{"level":"info","ts":1596828783.42329,"logger":"controller-runtime.certwatcher","msg":"Updated current TLS certificate"}
{"level":"info","ts":1596828783.4235485,"logger":"controller-runtime.webhook","msg":"serving webhook server","host":"","port":443}
{"level":"info","ts":1596828783.6203442,"logger":"controller-runtime.certwatcher","msg":"Starting certificate watcher"}
{"level":"error","ts":1596828785.7815657,"logger":"controller-runtime.source","msg":"if kind is a CRD, it should be installed before calling Start","kind":"InferenceService.serving.kubeflow.org","error":"no matches for kind \"InferenceService\" in version \"serving.kubeflow.org/v1alpha2\"","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/go/pkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128\nsigs.k8s.io/controller-runtime/pkg/source.(*Kind).Start\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/source/source.go:88\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/internal/controller/controller.go:165\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/internal/controller/controller.go:198\nsigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).startLeaderElectionRunnables.func1\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/manager/internal.go:477"}
{"level":"error","ts":1596828785.781721,"logger":"entrypoint","msg":"unable to run the manager","error":"no matches for kind \"InferenceService\" in version \"serving.kubeflow.org/v1alpha2\"","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/go/pkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128\nmain.main\n\t/go/src/github.com/kubeflow/kfserving/cmd/manager/main.go:100\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:203"}

Anything else you would like to add: With the same setup, I tried installing kfserving 0.2.2, It was successfully installed.

Environment:

  • Istio Version: 1.6.7
  • Knative Version: v0.16.0
  • KFServing Version: v0.4.0
  • Kubeflow version: No kubeflow. Standalone installation of kfserving
  • Kfdef:[k8s_istio/istio_dex/gcp_basic_auth/gcp_iap/aws/aws_cognito/ibm]
  • Minikube version: v1.12.2
  • Kubernetes version: (use kubectl version): v1.18.3
  • OS (e.g. from /etc/os-release): OS X

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:5 (2 by maintainers)

github_iconTop GitHub Comments

1reaction
yuzisuncommented, Aug 7, 2020

@ShilpaGopal I think it is known issue that KFServing does not work on kubernetes 1.18, can you try 1.17 ?

1reaction
issue-label-bot[bot]commented, Aug 7, 2020

Issue-Label Bot is automatically applying the labels:

Label Probability
area/inference 0.87

Please mark this comment with 👍 or 👎 to give our bot feedback! Links: app homepage, dashboard and code for this bot.

Read more comments on GitHub >

github_iconTop Results From Across the Web

CustomResourceDefinition "inferenceservices ... - GitHub
CustomResourceDefinition "inferenceservices.serving.kubeflow.org" is invalid, during installation of v0.4.0 #1003.
Read more >
MPI Training (MPIJob) - Kubeflow
This guide walks you through using MPI for training. The MPI Operator makes it easy to run allreduce-style distributed training on Kubernetes.
Read more >
Run your first InferenceService - Kubeflow
In this tutorial, you will deploy an InferenceService with a predictor that ... First, install the KServe SDK using the following command.
Read more >
KServe | Kubeflow
KServe. Model serving using KServe. KServe enables serverless inferencing on Kubernetes and provides performant, high abstraction interfaces for ...
Read more >
KServe | Kubeflow
KServe. Highly scalable and standards based Model Inference Platform on Kubernetes for Trusted AI. KServe. Model serving using KServe ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found