Obancea Dragos
Obancea Dragos

Reputation: 21

Neo4j setup in OpenShift

I am having difficulties deploying Neo4j official docker image https://hub.docker.com/_/neo4j to an OpenShift environment and accessing it from outside (from my local machine)

I have performed the following steps:

  1. oc new-app neo4j

  2. Created route for port 7474

  3. Set up the environment variable NEO4J_dbms_connector_bolt_listen__address to 0.0.0.0:7687 which is the equivalent of seting up the dbms.connector.bolt.listen_address=0.0.0.0:7687 in the neo4j.conf file.

  4. Access the route url from local machine which will open the neo4j browser which requires authentication. At this point I am blocked because any combination of urls I try are unsuccessful.

As a workaround I have managed to forward 7687 port to my local machine, install Neo4j Desktop solution and connect via bolt://localhost:7687 but this is not the ideal solution.

Therefore there are two questions: 1. How can I connect from the neo4j browser to it's own database

  1. How can I connect from external environment (trough OpenShift route) to the Neo4j DB

Upvotes: 0

Views: 1927

Answers (2)

Simon
Simon

Reputation: 4485

Short answer:

To connect to the DB that is most likely a configuration issue, maybe Tomaž Brataničs answer is the solution. As for accessing the DB from outside, you will most likely need a NodePort.

Long answer:

Note that OpenShift Routes are for HTTP / HTTPS traffic and not for any other kind of traffic. Typically, the "Routers" of an OpenShift cluster listen only on Port 80 and 443, so connecting to your database on any other port will most likely not work (although this heavily depends on your cluster configuration).

The solution for non-HTTP(S) traffic is to use NodePorts as described in the OpenShift documentation: https://docs.openshift.com/container-platform/3.11/dev_guide/expose_service/expose_internal_ip_nodeport.html

Note that also for NodePorts, you might need to have your cluster administrator add additional ports to the loadbalancer or you might need to connect to the OpenShift Nodes directly. Refer to the documentation on how to use NodePorts.

Upvotes: 1

Tomaž Bratanič
Tomaž Bratanič

Reputation: 6534

I have no experience with the OpenShift, but try to add the following config:

dbms.default_listen_address=0.0.0.0

Is there any other way for you to connect to Neo4j, so that you could further inspect the issue?

Upvotes: 1

Related Questions