-
Notifications
You must be signed in to change notification settings - Fork 61
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
Isolation with Nginx Ingress not work anymore!! #25
Comments
update: i tried with sample project Todo, and it seems to work can you try with an application using nginx with v1 manifest? regards |
we have also this errors on routing manager deployment │ 2022-08-22T11:11:02.8970493Z | RoutingManager | ERROR | Service port 'null' from ingress 'XXXXXXX' does not match any port on the service 'XXXXXXX'. │ but all the services deployed have the service port defined |
@letmagnau found another thread where nginx ingress is working - microsoft/mindaro#302 (comment). May be something with version, we release latest B2K version (1.0.20220816.2) can you try with this and let us know ? |
From error above, bridge cannot get port information for your ingress, could you provide the output of running below command in your cluster (please send it privately iavf you would like to avoid sharing your service ingress configuration here): It may also be worth updating the title / description of this issue. This is not generic isolation is not working. This seems specific to whatever nginx version or syntax you are using. |
Please also provide which version of nginx manifest you are using and which version of k8s you are using. v1 manifests should now be working. |
Hi @hsubramanianaks , I 've open that issue.... problem was that with V1 manifest , with older version, b2k not Create the ingress on isolation Now problem is that also if ingress are created , they dont redirect to local, also the isolation route traffic is managed from the main webservice eg: I have two service on K8 cluster , A and B. I isolate A service with B2k . when the A service is stopped... it also continue to work from alias address... the traffic is managed from the main A service running yet I hope that 's clear |
I've renamed the issue, but I try to replicate the behavior better: version b2k : 1.0.20220817 Nginx version : latest kubectl -n get ingressroutes -o json --> no ingressroutes is found, we never had ingressroutes also when B2k works we have 3 ingress , all of them are similar one of this deployed is 👍 if I use B2k with isolation , B2k create the correspective ingress, (eg xxxx-xxxx.app.dev.synbee.it) when I surf it, it must redirect it to my localhost in order to debug , but also when the service is stopped ( we start manually it) Ingress as you see have the 80 port defined and I cannot understand why it telling us to not read the ingress port regards |
Hi all in fact we have problems to start EndpointManager and from log file it seems related to bridge-.zip from that snippet seems to be problem exactly when B2k starting to create prot forwarding and that point is the exact point that 022-08-23T13:36:10.1849827Z | MindaroCli | TRACE | Event: Command.Start {"properties":{"arguments":"connect --service eolo-webapp --env /tmp/tmp-54549exxgswpepcp6.env --script /tmp/tmp-54549exxgswpepcp6.env.cmd --control-port 55338 --ppid 54427 --namespace synbee-dev --elevation-requests [{"requesttype":"edithostsfile"}] --routing piero-susca --local-port 80","isRoutingEnabled":"true"},"metrics":null}\nOperation context: {"clientRequestId":null,"correlationId":"b163e3cd-0bcb-44f9-aea3-b554cba2a8b61661261678759:932cc4d379a5","requestId":null,"userSubscriptionId":null,"startTime":"2022-08-23T13:36:09.9524256Z","userAgent":"VSCode/1.0.120220817","requestHttpMethod":null,"requestUri":null,"version":"1.0.20220816.2","requestHeaders":{},"loggingProperties":{"applicationName":"MindaroCli","deviceOperatingSystem":"Linux 5.18.16-1-MANJARO #1 SMP PREEMPT_DYNAMIC Wed Aug 3 11:18:52 UTC 2022","framework":".NET Core 3.1.9","macAddressHash":"0000000000000000000000000000000000000000000000000000000000000000","processId":55941,"targetEnvironment":"Production","commandId":"932cc4d379a5"}} Why we cannot use B2k without install this workaround ? I think that is we are able to understand this, the beahvior can be fix itself regards |
We are going to try and create a cluster/app with nginx and try to repo your issue. The EndpointManager issue you share now is completely different, EndpointManager is needed regardless of isolation or no isolation mode. Could you share the logs from the library and endpointmanger files? they should be in the same folder as the cli logs. Also logs in tmp/Bridge-To-Kubernetes? Thank you :) |
you can download fro the link attached https://github.com/Azure/Bridge-To-Kubernetes/files/9403152/bridge-.zip |
there's no endpointmanager log |
I confirm that there's something strange In order to connecting EndpointManager , I need to install mandatory libicu50 / libicu53 , only with icu package latest not work This means that I cannot debug anymore, and that is very blocking for us and for our subscription Azure I've open a support ticket on it 2208220050000680, but no asnwers are given until now 2022-08-24T08:12:05.7873778Z | Library | TRACE | Connecting to EndpointManager |
Another thing... If there's a redirection on my localhost. why I'm finding the debugged service in my hosts file? why I can't find a redirection on my local? |
Update: I fork the project Mindaro and on samples BikeSharing i cahnged the traefik ingress to nginx and v1 manfest ( as our env) you can check here : |
@letmagnau we are looking into your forked repo, but FYI we have deprecated bike sharing app and we use todo-app only for our examples or bug replications. we are working on making the todo-app with nginx ingress similar to your set up and see if we are able to replicate the issue. Please give us some time we will get back to you. Thank you. |
ok for deprecation, but that sample use ingress, todoapp not . |
@letmagnau we will look into your forked branch to replicate the issue. Please give us some time, we will have an update on this. Thanks. |
@letmagnau Can you try with your ingress.yaml giving backend.service.port.name which is mutually exclusive to port name to the service you are using. ex: service to be clear the service.port.name for your service needs to match with paths.path.http.backend.service.port.name, since in your example port.name was not present , it was erroring out |
Hi @hsubramanianaks Unfortunately it not change nothing in terms of this bug , it remains intact "Port forward piero-bikesharingweb-75498ddb8f-59nv8 33327:50051 33982 : Run send loop" Obliviously I've tried thsi fix also on BikeSharing project PS_ can you confirm that I found the same behavior? 2022-08-25T07:53:26.2908975Z | Library | TRACE | Creating web socket for piero-bikesharingweb-75498ddb8f-59nv8 50051 regard |
@letmagnau just to confirm are you getting 404 when accessing the isolated ingress ex: http://isolatedroute.bikesharingweb.app.dev.synbee.it/ ? when running B2K. |
@letmagnau Nginx controller logs shows this - seems like your ingress setup for bike share app is not correct. can you check ? |
@hsubramanianaks absolutly not How can I explain ???? We cannot debug anymore why redirection to localhost not happen. and this are causing us money and time loss Our check is just that ! If I bind service A with B2k and leave that service STOPPED, I should expect that have error instead What do you mean whit : "Nginx controller logs shows this - seems like your ingress setup for bike share app is not correct" ?? I've forked your project , can you confirm that it doesn't work for you either??? |
@letmagnau I am not able to replicate this issue in my local. Please provide link to the recorded video and we will check. thank you. |
we have uploaded the video we want add that , as you told us, it continue to not work also if I add for all ingress the service port name "http" but when Helm deploy it, that attribute is ignored, so I think that are out of standard v1 manifest and If for you is mandatory , that will be a problem regard |
Hi @letmagnau, We have acknowledged the issue and are looking into it. The team is still ramping up with the codebase, so it might take us a bit of time. thanks, |
@letmagnau Thank you for your video. I was not able to reproduce the issue with the bike sharing application. When I connected to the cluster via bridge menu and debugged isolated route, I got 404 nginx error, bridge didn't redirect to the main/bikesharingweb service in cluster. Can you please share how did you set up your nginx ingress? Also, can you please update the issue description according to the bug template here - https://github.com/Azure/Bridge-To-Kubernetes/blob/main/.github/ISSUE_TEMPLATE/bug_report.md. Thank you again. |
What?? we also are trying from mobile or another network as you, and behavior is the same upload me a video about it Ingress set up is on the fork code, updated. We have two ngix pod running on another ns that bind our alias to AKS dynamic ip we continue to have on routing manager logs also if I specified the backend service port name = http I'm leaving running my bind service on : piero-3fdb.bikesharingweb.app.dev.synbee.it can you try? |
to be complete , I'm atttaching the IngressClass YAML apiVersion: networking.k8s.io/v1 |
update, today when connecting to b2k , we have an error like : Normal Scheduled 107s default-scheduler Successfully assigned mindaro/piero-bikesharingweb-c5b4fcfb-7qv8f-restore-278b2-qvqdk to aks-agentpool-21099443-vmss000001 |
update: I now switch to use traefik in order to do a try, with the same ingress yaml ( without ingressclass) and the behavior is exactly the same to be completed:
|
Hi @letmagnau, We can't seem to replicate the issue, however we dug into the logs, and we found an error that we think may be causing the issue. We will be publishing an image for you to use. Could you please test it and see if this fixes the problem for you? The steps below are how to test it:
This is just for testing purposes. If it works for you, we will publish to this to main and release it for the general use. |
without your image, I'm able to understand the problem, and I hope that fix will resolve the first time I have added port name to our yaml but without leave number, and this is not managed by b2k We have tried to leave the number ( that is not a k8 best practice) and it seems to work correctly now thank you for your support Except for the network issue for dns that are occurring, we should be ready again now |
Hi @letmagnau, It seems your problem has gone away? Can you please share what cause the fix? We would love to know on our side as this helps us learn and take feedback. Thanks! |
Yes, as I told in the previous comment we changed the ingress from this: to this : In last, we only leave the name , eliding number . if we leave both , it not works K8 standard include number attribute to yaml default , so I think that would be util that B2k can associate the port number to the string http ( port name) , becouse if you want to have a different port ( not 80 or 443) open for the ingress, you cant use B2k anymore regards |
Thank you! We will be closing this issue. |
referring to issue:
microsoft/mindaro#342
Describe the bug
if you configure it for isolation, it ignore the service that is being debugging --- simply redirect all the request to the main deployments
You cannot debug anymore... simply, in the hosts file will write also the service that needs to be redirect to local...
To Reproduce
simply configure it for isolation and try to debug
Expected behavior
needs to stop on brekpoint in local service
Logs
there's no error , is the behavior the problmem , it ignores the isolation
Environment Details
Client used (VS Code/Visual Studio):
1.70.1
6d9b74a70ca9c7733b29f0456fd8195364076dda
x64
Client's version:
[email protected]
Operating System:
5.18.16-1-MANJARO
Additional context
we are very sad...
I've recreated the cluster from scratch, behavior remains the same :( very sad..
This is critically blocking for us..
Please check the fix, isolation not work anynore, B2K ingore aliasing totally
regards
The text was updated successfully, but these errors were encountered: