0

I feel like this should be a simple thing, to point an istio virtual service to a knative service, that gets stood up as an ExternalName type.

  - match:
    - authority:
        prefix: demo.example.io
      gateways:
      - knative-serving/knative-ingress-gateway
      - cert-manager/secure-ingress-gateway
      uri:
        prefix: /api
    retries:
      attempts: 5
      perTryTimeout: 15s
      retryOn: gateway-error,connect-failure,refused-stream
    route:
    - destination:
        host: proxy.default.svc.local
        port:
          number: 80

This throws a 404. If I use a regular service it works fine. Or if I point to the first revision proxy-0001.default.svc... it works fine.

Noah Kreiger
  • 121
  • 1
  • 7
  • few clarifications required. trust above virtualservice is created for egress gateway not for ingress gateway. in the shared virtualserivce ingress gateway details are mentioned. Also its better to use to proper name instead of "host: proxy" in route definition. for better readability its good to use host: ..svc.cluster.local – Nataraj Medayhal Jan 31 '23 at 07:07
  • @NatarajMedayhal This is for an ingress gateway. Knative creates an External Name type service for incoming traffic. It is the service that all my internal logic points to: `proxy.default.svc.local:80` https://knative.dev/docs/serving/services/private-services/ – Noah Kreiger Jan 31 '23 at 15:21
  • you can check ingress gateway pod access logs and see whether its forwarding this to actual pod – Nataraj Medayhal Feb 01 '23 at 10:06
  • 1
    check the routing.yaml in this example, https://github.com/knative/docs/tree/main/code-samples/serving/knative-routing-go – sbond May 10 '23 at 06:12
  • this is great, thanks @sbond – Noah Kreiger Jun 20 '23 at 14:18

0 Answers0