OSE 3.1 - A-MQ xPaaS, Queue as a Service exposing externally from OSE

So I wanted to try A-MQ xPaaS queue as a service within OpenShift 3.1.1.6.  While everything is exposed correctly and functioning inside an OSE environment, what if I wanted to use the queue externally by another application.  Only the services are created and no routes are created.  The routes aren't created for good reason, the current router in OSE 3.1 only supports HTTP/HTTPS traffic.  Though it uses HAProxy under the hood for the router, TCP is there, but just not implemented for OSE yet.

There are future plans to support it, but for now, there is a nifty function in OSE (available in kube) called NodePort which allows you to expose your service, without a route.  It's a manual effort, but it works.  I have a sample yaml file to create your service.  Also checkout the readme for additional instructions.

Once this service is created, all the registered nodes in OSE will expose the specified nodePort.  So any of your nodes, even master (since it's a node as well) will expose the port.  I didn't have to make any iptables changes, but be sure to check that out if you are experiencing any connectivity issues.

Some additional information from the openshift docs.
comments powered by Disqus