-
Notifications
You must be signed in to change notification settings - Fork 89
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
DomainMapping does not work with local gateway "mesh" mode #562
Comments
@ZhiminXiang is this the case before/after/both-before-and-after #512? |
I can confirm that it happens after that change. I haven't tried to test it before the change. but I will test it. |
Thanks @ZhiminXiang thatd be helpful. What's the correct way to reference a service from outside the mesh in mesh mode? |
I think essentially the issue is in the mesh mode, the cluster local gateway is not needed and can be removed, while the DomainMapping feature depends on the cluster local gateway for routing requests. I think the fix could be:
|
Another possible option is we may be able to always keep cluster local gateway service and set the route service as ExternalName service for both mesh and non-mesh mode, and deprecate "local-gateway.mesh: mesh". |
I have tested the case with the following combined setup
And the service to service communication still works. So I think the entry "local-gateway.mesh: mesh" is not necessary. The service to service requests won't go to cluster local gateway when sidecar is injected in the client side as long as the service knative-local-gateway service exists. |
So I think the solution to handle the "mesh" mode could be:
|
This issue is stale because it has been open for 90 days with no |
Hi @ZhiminXiang, why this property was removed? Now with this, the v1/Serivce is created by istio with type ExternalName and then istio does not added as a cluster, so the communication from pod to pod using svc.cluster.local does not work anymore. That is what I see in my current implementation. With the removal of this property, does knative support pod to pod communication without going to the gateway? |
When I add the entry "local-gateway.mesh: mesh" into config-istio ConfigMap to indicate using mesh mode, DomainMapping does not work.
The request sent to the custom domain will get the response:
no healthy upstream
.I think this is because the destination of the VS of the DomainMapping is the k8s service of the target ksvc. When setting "local-gateway.mesh: mesh", the k8s service of the target ksvc will not be ExternalName service. Instead, it is just a headless service. So the destination of the VirtualService of the DomainMapping will become invalid.
/cc @julz
The text was updated successfully, but these errors were encountered: