Comments (7)
This issue is currently awaiting triage.
If Ingress contributors determines this is a relevant issue, they will accept it by applying the triage/accepted
label and provide further guidance.
The triage/accepted
label can be added by org members by writing /triage accepted
in a comment.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.
from ingress-nginx.
Your nodes are on AWS and your curl destination is hostname localhost
so nothing can be valid about that curl.
But bigger problem is that the service created by the ingress-nginx controller is in a pending
state. So there is no question at all about even sending or receiving a HTTP/HTTPS request.
If streaming is broken, it can even be reproduced on a kind cluster or a minikube cluster.
So please check the documentation about how to install run and use the ingress-nginx controller. Then try it on a kind cluster or a minikube cluster. Once you have it all figured out, then run the install with appropriate and preferably documented process. THen please edit this issue description and provide data that can be analyzed as a problem in the controller.
Thanks
/remove-kind bug
/kind support
/triage needs-information
from ingress-nginx.
Your nodes are on AWS and your curl destination is hostname
localhost
so nothing can be valid about that curl.But bigger problem is that the service created by the ingress-nginx controller is in a
pending
state. So there is no question at all about even sending or receiving a HTTP/HTTPS request.If streaming is broken, it can even be reproduced on a kind cluster or a minikube cluster.
So please check the documentation about how to install run and use the ingress-nginx controller. Then try it on a kind cluster or a minikube cluster. Once you have it all figured out, then run the install with appropriate and preferably documented process. THen please edit this issue description and provide data that can be analyzed as a problem in the controller.
Thanks
/remove-kind bug /kind support /triage needs-information
Some clarificatons:
As I've mentioned in the question:
Note: the ingress svc has been port-forwarded to local using: kubectl -n ingress-nginx port-forward svc/ingress-nginx-controller 8000:80.
That's why I can use localhost:8000 as the curl destination. It is valid.
The reason of testing using port-forwarding is that our service is exposed to Internet via CloudFlare Tunnel solution (and it's also the reason that the EXTERNAL-IP is in <pending>
status). I tried to use port-forward to exclude the possible impacts by the [CloudFlare Tunnel].
The traffic path is:
Internet => [CloudFlare Tunnel] => [nginx ingress controller] => [application service] => [application pod]
The test scenarios are:
- When we port-forwarding [applicatoin service], and curl against it, the streaming works
- We expose our [application service] via AWS Network Loadbalancer, and curl against it, the streaming works
- When we port-forwarding [nginx ingress controller], and curl against it, the streaming doesn't work (the client always receive the whole response in one go).
- When curl directly against the URL exposed by [CloudFlare Tunnel], streaming doesn't work.
Thanks!
from ingress-nginx.
I think you are providing info that helps but I don't know how to use it to reproduce the problem on a kind or a minikube cluster.
Would you consider this #11162 (comment) as a valid text streaming test.
If you are port-forwarding, then is it across the internet or within a lan. All such details are needed for me to reproduce.
Critical info is a application docker image, of a small streaming server, that anyone can use on their own cluster to test.
You are not providing the log messages of the controller pod that is logged when streaming fails.
Maybe you should edit the issue description and ensure that there is enough info there that shows the small tiny details that are outputs of kubectl commands for describe and logs etc etc
Since you showed chatGPT, I will pick some random app from artifacthub.io to test, unless you can provide a minimalistic app
from ingress-nginx.
unable to find a app to use in test
from ingress-nginx.
I enabled debug level log in nginx ingress controller, made a test and grabbed the log. Since there're quite a lot logs generated at debug level, there might be some other activities logged.
Please check the log attached: test.log.tar.gz. Here're some highlights:
- line 140 - 158 show the test request of
POST /api/v1/llm/chat_stream HTTP/1.1
- line 4700 seems to be the place where the response reached nginx
- line 4717 - 4721 is the response
- line 5473 seems to be the final response to the client
Please be noted that the above is based on my very limited understanding and some guesses on the nginx ingress controller log, which can be wrong.
No error is logged during the test. What we can see from the client side is that the whole content of the response was received in one go, without streaming effect.
I'll try to come up with a text streaming test that is reproducible in local environment.
Thanks!
from ingress-nginx.
Without knowing the app and the curl output of real use, its hard to understand why you think streaming is broken
from ingress-nginx.
Related Issues (20)
- Connection timed out for controller Pods. HOT 2
- doc error about traffic mirror HOT 3
- Helm: Use OCI-based registries HOT 8
- removing ingress Nginx default résponse header HOT 10
- py-lmdb CVE-2019-16224, CVE-2019-16225, CVE-2019-16226, CVE-2019-16227 HOT 6
- Convert multiple path rewrite rules from default.conf to ingress-nginx.yaml HOT 15
- Usage of GeoIP2 variables CRASH the ingress in case maxmind-license is out of download quota (or download fails) HOT 5
- Support per-ingress opentelemetry service naming HOT 2
- GeoIP2 files present in /etc/ingress-controller/geoip, but the controller logs show "GeoLite2-City.mmdb not found" HOT 5
- Route53 DNS problems HOT 6
- tls: failed to verify certificate: x509 HOT 4
- ginkgo bump requirement reported in CI e2e HOT 3
- Add annotation for per-Ingress upstream-keepalive-connections HOT 3
- Vulnerability CVE-2023-44487 in NGINX 1.21.6 reported for controller-v1.9.6 HOT 7
- ingress-nginx chart + terraform = Invalid value: "integer": spec.triggers[1].metadata.value in body must be of type string: "integer" HOT 8
- Possibility to customize the format of error logs and controller logs HOT 1
- GRPCBufferSizeKb Templating Error on 1.10.1 HOT 4
- AWS nginx-ingress-controller context error HOT 5
- Race condition during SNI extraction when TLS ClientHello is fragmented leading to ssl-passthrough being "ignored" HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ingress-nginx.