You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
You are correct in noting that Kubernetes Ingress is primarily designed for HTTP and HTTPS traffic, utilizing protocols like HTTP, HTTPS, and WebSockets (WS). Since Ingress operates at the application layer (Layer 7), it is well-suited for handling HTTP-based protocols which allow for routing based on URL paths.
For MQTT, which typically operates over TCP (not HTTP), using a standard Ingress controller wouldn't be suitable as it does not handle TCP services. However, some specialized Ingress controllers, like NGINX or HAProxy, can be configured to handle non-HTTP traffic including TCP and UDP, thus enabling the routing capabilities for MQTT traffic as well.
Still, thats non standard behavior. There is a reason why work is being done on the Gateway api.
Nonetheless your comment rises the following question: why the chart doesn't provide an ingress.ws value, which would be standard behavior? It could be preset with the path pointing to /mqtt, that way you could set both dashboard and ws to the same host without messing routing.
What happened?
Setting
ingress.mqtt
forwards to MQTT portWhat did you expect to happen?
ingress.mqtt
should create an ingress that points toservice.ws
. After all, ingress is designed for HTTP/WS, not TCPHow can we reproduce it (as minimally and precisely as possible)?
Anything else we need to know?
This is the culprit:
emqx/deploy/charts/emqx/templates/ingress.yaml
Line 89 in f969a4e
EMQX version
Chart 5.5.0
OS version
No response
Log files
No response
The text was updated successfully, but these errors were encountered: