-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Configuring Knative to use a local gateway in another namespace #985
Comments
Clarifying one thing, by default Istio's |
After some more tweaking, I found that setting:
resulted in:
Is this the expected behaviour? Maybe this is mainly a documentation problem, as it didn't feel clear this would happen and I only found it by accident. Oddly, if I change the config to:
it then creates the |
@nak3 Could you take a look at this issue? Coz I am not sure if this is a configuration issue for operator, or something we need to support in ingress or serving. |
@ca-scribner I have fixed the issue of #1216. I am not sure if that would help with this issue. You said "by default Istio's Gateway objects do work across namespaces". That's fine. |
This issue is stale because it has been open for 90 days with no |
This issue or pull request is stale because it has been open for 90 days with no activity. This bot triages issues and PRs according to the following rules:
You can:
/lifecycle stale |
FWIW the If you have your own internal gateway I think all you would want to do is configure this config map property |
I am trying to use Knative Serving via the Knative Operator to make
ksvcs
available via a local gateway (not a service mesh). TheGateway
I have is shared with other applications, and the workload pods for that gateway are in a separate namespace. I'm having trouble getting the local side of the gateway to work properly, specifically with theistio-proxy
deployment deployed in a different namespace from serving/any ksvc. I wonder if there's a missing/misconfiguredservice
that the net istio controller needs to generate.I have:
namespace-1
, includingimage: istio/proxy
deployment working as a gateway deployed with selectoristio: ingressgateway
Gateway
pointing to the above proxy calledmy-gateway
svc
calledistio-ingressgateway-workload
that points at the above proxy via a selectorKnativeServing
object innamespace/knative-serving
using:Once I have these, I deploy a cloudevents player with:
Once up, I can connect to the
ksvc
through the external gateway no problem using:which yields a
202 Accepted
. However, if I try the local ingress, I get connection refused:which yields a
Failed to connect ... port 80: Connection refused
.I think this is because the
svc/knative-local-gateway
which is generated by the istio controller tries to point to the proxy via a selector, but the proxy is in a different namespace. We see the service (truncated a bit):which is in
namespace/knative-serving
and tries to select pods byselector: {istio: ingressgateway}
. Problem is that there is noistio: ingressgateway
innamespace/knative-serving
, it is instead deployed innamespace/namespace-1
.Am I configuring this incorrectly? I don't see any other settings that might change this. Maybe the intent is for me to point the local gateway at my own service, but then I don't understand why knative would create a
svc/knative-local-gateway
at all. The existingsvc/istio-ingressgateway-workload
that I have would be unsuitable as it is forwarding port 80 to 8080 (eg: the external route through the gateway). I'd need another svc to pass to port 8081 (like thesvc/knative-local-gateway
does).If everything is configured correctly, I think that
svc/knative-local-gateway
needs to either be created in the namespace of the istio proxy pod, or be anExternalName
svc that resolves to a service in the istio proxy pod's namespace and points at the istio proxy pod.The text was updated successfully, but these errors were encountered: