triggermesh/knative-lambda-runtime

ksvc ready status is unknown, reason is IngressNotConfigured

Closed this issue · 5 comments

versions:
istio 1.6.8
knative 1.0.0
kubernetes : 1.21
tm v1.12.0

https://aws.amazon.com/cn/blogs/opensource/deploying-lambda-compatible-functions-eks-triggermesh-klr/
I follow the blog steps but failed.

knative get all
NAME READY STATUS RESTARTS AGE
pod/knative-operator-57887499b8-zbvxf 1/1 Running 0 3h12m
pod/python-test-26xqs-pod 0/3 Completed 0 3h
pod/python-test-6lcpz-pod 0/3 Completed 0 178m
pod/python-test-hrkwb-pod 0/3 Completed 0 165m
pod/python-test-q6vmw-pod 0/3 Completed 0 176m
pod/python-test-t78vd-pod 0/3 Completed 0 168m

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.100.0.1 443/TCP 46h
service/python-test ExternalName python-test.default.example.com 80/TCP 165m
service/python-test-00001 ClusterIP 10.100.172.8 80/TCP 165m
service/python-test-00001-private ClusterIP 10.100.104.178 80/TCP,9090/TCP,9091/TCP,8022/TCP,8012/TCP 165m

NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/knative-operator 1/1 1 1 3h12m
deployment.apps/python-test-00001-deployment 0/0 0 0 165m

NAME DESIRED CURRENT READY AGE
replicaset.apps/knative-operator-57887499b8 1 1 1 3h12m
replicaset.apps/python-test-00001-deployment-84bccb66bc 0 0 0 165m

NAME URL LATESTCREATED LATESTREADY READY REASON
service.serving.knative.dev/python-test http://python-test.default.example.com python-test-00001 python-test-00001 Unknown IngressNotConfigured

NAME LATESTCREATED LATESTREADY READY REASON
configuration.serving.knative.dev/python-test python-test-00001 python-test-00001 True

NAME CONFIG NAME K8S SERVICE NAME GENERATION READY REASON ACTUAL REPLICAS DESIRED REPLICAS
revision.serving.knative.dev/python-test-00001 python-test 1 True 0 0

NAME URL READY REASON
route.serving.knative.dev/python-test http://python-test.default.example.com Unknown IngressNotConfigured

curl -v aa33c2240394347b69884c9a3fabc81f-1798146406.us-west-2.elb.amazonaws.com -H "Host: python-test.default.example.com"

Rebuilt URL to: aa33c2240394347b69884c9a3fabc81f-1798146406.us-west-2.elb.amazonaws.com/
Trying 52.35.198.213...
TCP_NODELAY set
Connected to aa33c2240394347b69884c9a3fabc81f-1798146406.us-west-2.elb.amazonaws.com (52.35.198.213) port 80 (#0)
GET / HTTP/1.1
Host: python-test.default.example.com
User-Agent: curl/7.58.0
Accept: /

Empty reply from server
Connection #0 to host aa33c2240394347b69884c9a3fabc81f-1798146406.us-west-2.elb.amazonaws.com left intact
curl: (52) Empty reply from server

@jeremyzhou thanks for filing the issue, we will look into it quickly cc/ @tzununbekov

@sebgoa thanks for your quick reply.
Should I enable istio-injection in default namespace? Any step I missed?

@jeremyzhou hi! istio-injection is not required in our use case. Could you check if you followed Knative Serving configuration steps after you installed Istio:
Istio tab on the page below
https://knative.dev/docs/install/serving/install-serving-with-yaml/#install-a-networking-layer

@tzununbekov thanks for your support.

curl ab60a1e57e90340c5bfe25df5fbb28d2-1169102610.us-west-2.elb.amazonaws.com -H "Host: python-test.default.example.com"
{"statusCode": 200, "body": "{"message": "Hello, the current time is 23:03:41.339888"}"}

now I can trigger the function.
one more question, how do I change http call to https call?

@jeremyzhou great that it worked!
You can install cert-manager to make Knative services use HTTPS, check out this instruction:
https://knative.dev/docs/install/serving/installing-cert-manager/