serving icon indicating copy to clipboard operation
serving copied to clipboard

Knative Serving service shows IngressNotConfigured and unable to access the application via Kong Ingress

Open MaharaJothi opened this issue 3 years ago • 3 comments

Ask your question here:

I've set up Knative Serving in EKS cluster with Kong configured for Ingress gateway.
Below are the cluster details: Kubernetes Version: 1.23 Knative Version: 1.7.1 Kong Version: 2.6.9

Issue:

Followed this to set up Knative in EKS cluster and this for application deployment.

I've patched config-domain and config-network config maps with domain name and kong ingress class name respectively. I've also added CNAME record in my DNS.

After deploying the application yaml, kubectl get ksvc displays the URL in which application can be accessible. But READY shows Unknows and REASON as IngressNotConfigured

NAME    URL                             LATESTCREATED   LATESTREADY   READY     REASON
hello   http://hello.default.test.com   hello-00001     hello-00001   Unknown   IngressNotConfigured

While accessing the application URL, am seeing the below: {"message":"no Route matched with those values"}

NOTE: Revisions shows READY: True but Route shows READY: Unknown and REASON: IngressNotConfigured. The knative custom resource ingresses.networking.internal.knative.dev doesn't have any events for me to debug.

Expected behaviour

READY should be True and the application URL should be accessible.

Can someone please help me debug and identify the cause of this issue?

MaharaJothi avatar Sep 21 '22 10:09 MaharaJothi

Hi @MaharaJothi Thank you for reporting this. But could you please open the issue against kubernetes-ingress-controller instead of here?

There is one similar issue has been reported https://github.com/Kong/kubernetes-ingress-controller/issues/2543 though I am not sure if it is same with yours.

nak3 avatar Sep 22 '22 06:09 nak3

@nak3 Thanks for your response. Yes issue I reported is similar in a way to the one you shared. I'll report against kubernetes-ingress-controller

Can you help me with any documentation available that helps explain the resources created as part of Knative Service (ksvc) and how they are linked? Like Service, Route, ingress, ServerlessService, autoscaler, revision, caching It'll help me debug the issue better

MaharaJothi avatar Sep 22 '22 09:09 MaharaJothi

I know only this one https://github.com/knative/serving/blob/main/docs/scaling/SYSTEM.md If you are looking for another docs I think it might be better to ask in Knative Slack channel or https://github.com/knative/docs

nak3 avatar Sep 22 '22 09:09 nak3

According to here , for using custom ingress class names, we need to use networking.knative.dev/ingress-class=<ingress-type> as annotation in Service yaml.

However, the ingresses.networking.internal.knative.dev definition has networking.knative.dev/ingress.class: admin-kong always.

Also in k8s service hello I see the below annotation: networking.knative.dev/ingress-class: admin-kong

Why is this difference? Could this impact in anyway the ingress creation?

MaharaJothi avatar Sep 23 '22 05:09 MaharaJothi