Unable to use Kubeless triggers with Kubernetes 1.18
Author: kaiveanCreated Apr 25, 2020Updated Jul 11, 2021
**BUG REPORT **:
What happened:
create a function
kubeless function deploy hello --runtime nodejs12 --env REQ_MB_LIMIT=50 --handler main.hello --from-file main.jscall and get a right response
kubeless function call hello --data 'Hello world111!'create a http-trigger . But it can't create a ingress servicekubeless trigger http create hello-http --function-name hello
View logs By kubectl logs kubeless-controller-manager-54cc78b665-ksqkz -n kubeless -c http-trigger-controller
the following log from the http-trigger-controller container.
time="2020-04-25T08:56:18Z" level=info msg="Running Kubeless HTTP trigger controller version: v1.0.1"
time="2020-04-25T08:56:18Z" level=info msg="Starting HTTP Trigger controller" controller=http-trigger-controller
time="2020-04-25T08:56:18Z" level=info msg="HTTP Trigger controller caches are synced and ready" controller=http-trigger-controller
time="2020-04-25T08:56:18Z" level=info msg="HTTP Trigger controller synced and ready" controller=http-trigger-controller
time="2020-04-25T10:49:23Z" level=info msg="Successfully processed update to function object hello Namespace: default" controller=http-trigger-controller
time="2020-04-25T10:49:23Z" level=info msg="Successfully processed update to function object hello Namespace: default" controller=http-trigger-controller
time="2020-04-25T10:50:26Z" level=info msg="Processing update to HTTPTrigger: default/hello-http" controller=http-trigger-controller
time="2020-04-25T10:50:26Z" level=info msg="Processing update to HTTPTrigger: default/hello-http" controller=http-trigger-controller
time="2020-04-25T10:50:26Z" level=info msg="Adding ingress resource for http trigger Obj: default/hello-http " controller=http-trigger-controller
time="2020-04-25T10:50:26Z" level=error msg="Failed to create ingress rule hello-http corresponding to http trigger Obj: default/hello-http due to: Unable to find the function internal service: &Service{ObjectMeta:k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta{Name:hello,GenerateName:,Namespace:default,SelfLink:/api/v1/namespaces/default/services/hello,UID:7dbdbcc0-69eb-4146-be0e-f6044fdbf764,ResourceVersion:43169,Generation:0,CreationTimestamp:2020-04-25 10:49:23 +0000 UTC,DeletionTimestamp:<nil>,DeletionGracePeriodSeconds:nil,Labels:map[string]string{created-by: kubeless,function: hello,},Annotations:map[string]string{},OwnerReferences:[{kubeless.io/v1beta1 Function hello f752134f-9f6b-44b6-9b0f-6ed7a638522f <nil> <nil>}],Finalizers:[],ClusterName:,Initializers:nil,},Spec:ServiceSpec{Ports:[],Selector:map[string]string{},ClusterIP:,Type:,ExternalIPs:[],SessionAffinity:,LoadBalancerIP:,LoadBalancerSourceRanges:[],ExternalName:,ExternalTrafficPolicy:,HealthCheckNodePort:0,PublishNotReadyAddresses:false,SessionAffinityConfig:nil,},Status:ServiceStatus{LoadBalancer:LoadBalancerStatus{Ingress:[],},},}: " controller=http-trigger-controller
time="2020-04-25T10:50:26Z" level=info msg="Processed update to HTTPTrigger: default/hello-http" controller=http-trigger-controllerWhat you expected to happen:
create a ingress service and be accessible by ingress
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:
- Kubernetes version (use
kubectl version):
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.0", GitCommit:"9e991415386e4cf155a24b1da15becaa390438d8", GitTreeState:"clean", BuildDate:"2020-03-25T14:58:59Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.0", GitCommit:"9e991415386e4cf155a24b1da15becaa390438d8", GitTreeState:"clean", BuildDate:"2020-03-25T14:50:46Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}- Kubeless version (use
kubeless version):
Kubeless version: v1.0.6-dirty- Cloud provider or physical cluster:
aliyun centos 7.5 . ECS server
Source: vmware-archive/kubeless