Documentation
- Usage
- Quick Start
- Runtimes
- Function Characteristics
- Triggers
- PubSub Mechanism
- Expose and Secure Functions
- Scheduling a function execution (CronJob)
- Data Stream Events
- Debug Functions
- Autoscaling
- Build Function Images
- Monitoring
- Advanced deployment
- Kubeless Configuration
- Use a Custom Apache Kafka
- Install Troubleshooting
- Cloud Providers
- Azure Kubernetes Service
- Google Kubernetes Engine
- Development
- Architecture
- Development Guide
- Implementing a New Runtime
- Implementing a New Trigger
- Debugging
- Release Flow
Troubleshooting
Installation
If installing using
kubectl create -f kubeless.yaml --namespace kubeless
gives the following error:
customresourcedefinition "functions.k8s.io" created error: error validating
"kubeless.yaml": error validating data: unknown object type
schema.GroupVersionKind{Group:"", Version:"v1", Kind:"Service"}; if you
choose to ignore these errors, turn validation off with --validate=false
You probably have an older version of Kubernetes. Make sure
you are using at least version 1.7
.
Kafka and Zookeeper Persistent Volume creation
Since Kubeless 0.5, there is a standalone manifest for deploying Kafka and Zookeeper. In some platforms, the Persistent Volumes that these applications require are not automatically generated. If that is your case you will see the deployments and Persistent Volume Claims as Pending:
$ kubectl get pods -n kubeless
NAME READY STATUS RESTARTS AGE
kafka-0 1/1 Pending 0 1h
kafka-trigger-controller-7f4f458f8b-l6f5m 1/1 Running 0 1h
kubeless-controller-manager-58d78fff74-g7fsd 1/1 Running 0 1h
zoo-0 1/1 Pending 0 1h
$ kubectl get pvc -n kubeless
NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE
datadir-kafka-0 Pending 2m
zookeeper-zoo-0 Pending 2m
If you are running Kubernetes in GKE check the specific guide here to create the required disks and PVs. In other case, check the provider documentation of how to create these required volumes. Note that kafka
and zookeeper
are only needed when working with Kafka events, you can still use Kubeless to trigger functions using HTTP requests.