Transport Server from Rabbitmq on Openshift, connection refused #4138
Replies: 5 comments
-
Your ports are not matching. You did sort out that you
5672, 15672, 5552, 15692 (maybe not this one if it is Prometheus) - these all need both a Listener and a TransportServer to represent them. The Listener under GlobalConfiguration tells NGINX to listen for connections on this port. The TransportServer then defines how to handle the traffic from that listener. Modifying the Service of the ingress controller says which additional external ports to expose. |
Beta Was this translation helpful? Give feedback.
-
Hi,
and for simplicifty too, match the ports:
and reconfigure the listener:
still having same issue. |
Beta Was this translation helpful? Give feedback.
-
i can not see how the transporServer create a new listener or if the listener is running.
it is supossed now that nginx will be listening on 5672? From a test pod: From out Kubernetes: Testing ingress: |
Beta Was this translation helpful? Give feedback.
-
the TransportServer resource is how this project defines TCP/UDP (aka Loadbalancer defines how traffic is routed to the K8s cluster(s) from the client. There is an example here of how to expose a DNS service that runs in K8s to external clients (the DNS used by clients outside of K8s): https://github.com/nginxinc/kubernetes-ingress/tree/main/examples/custom-resources/basic-tcp-udp This project does not support exposing TCP/UDP traffic using the Ingress or VirtualServer resources. That said. It is possible to expose your rabbitmq service using nodeport and loadbalancer and not through the ingress controller. It is your choice. |
Beta Was this translation helpful? Give feedback.
-
@andrescolodrero can you provide the output of:
If that comes back ok, can you send the output of:
You can scrub the .conf but will give us an idea of what is being generated. Thanks |
Beta Was this translation helpful? Give feedback.
-
Hi,
I recently deployed the ingress operator in Openshift and im trying to access an instance of Rabbitmq out the cluster,
For testing, HTTP ingress work correct, but im trying to setuip tcp access.
But i cant make transportServer to work with rabbitmq.
To reproduce:
`apiVersion: k8s.nginx.org/v1alpha1
kind: GlobalConfiguration
metadata:
name: nginx-configuration
namespace: rabbitmq-system
spec:
listeners:
port: 30552
protocol: TCP`
`apiVersion: k8s.nginx.org/v1alpha1
kind: TransportServer
metadata:
name: rabbitmq-listener
namespace: rabbitmq-system
spec:
host: rabbitmq.apps.ocptest.domain.com
listener:
name: rabbitmq-tcp
protocol: TCP
upstreams:
service: rabbitmq-sandbox2
port: 5672
action:
pass: rabbitmq-sandbox2`
For testing:
andres@MIS3749:~$ curl rabbit.apps.ocptest.domain.com:30552 -vvv
Beta Was this translation helpful? Give feedback.
All reactions