Red Hat Openshift and Spring Cloud Configuration - containers

I am using Red Hat Openshift and Spring Cloud / Netflix OSS. I have developed the applications and can get this working locally on my machine. However, when I deploy to Openshift I cannot get the applications to register to the Eureka server. I can get Eureka running but when I deploy the Eureka client applications they do not register to the Eureka server.
I have updated the properties to point to the Eureka server but the applications do not register. I am running Eureka on port 8761. The properties of my application (Zuul application) is as follows:
spring.application.name=netflix-zuul-api-gateway-server
server.port=8765
eureka.instance.hostname=eureka-service.currency-conversion-service.svc
eureka.client.service-url.default- zone=http://${eureka.instance.hostname}:8761/eureka/
eureka.instance.preferIpAddress=false
I have pointed the application to the service hostname that was allocated to the Eureka server in Openshift and I have added the port to the Eureka client URL as can be seen above. I am not sure this is correct or I should be using the route. I am new to Openshift and there does not seem to be much information on the net for Spirng Boot and Spring Cloud in Openshift.
Can anybody help please.
Thanks

Related

How to connect Spring Boot app to MySQL in Compute Engine VM Instance and export it with HTTPS?

I'm trying to deploy a backend rest api on GCP built using Spring Boot. I start VM instance and install MySQL and connect to Spring app there, exporting network to port 8080 and I can access globally. The problem is, it can only be accessed by HTTP, not HTTPS. I read some articles to use App Engine and Cloud SQL but I have no idea how to connect to MySQL that I previously installed in that VM instance. I'm a student so I need to find the cheapest way to do it, can anyone help?

How to control Spring Boot Admin Server spring cloud kubernetes based service discovery to use HTTP instead of HTTPS

I have spring boot admin server deployed in openshift with the help of fabric8 maven plugin
And also i have several applications deployed in openshift.
Spring boot admin server (SBAS) use spring cloud kubernetes discovery to discover services (applications) registered / running in namespace / cluster, which is automatic client discovery.
SBAS discovered as expected, its fine but some applications shown / registered in SBAS use http and some use https to check the health as like below
I have no idea, why SBAS use http for some apps and for https for some apps to check the health.
Since SBAS use https and port 8443 it shows applications are offline but those applications are exposed in http 8080 only
I have compared applications code and openshift configurations but i don't see any difference and how to fix this issue.
I am new to all above concepts could some one help me ?
I didn't find solution for this issue, but i did work around which helped me.
Since i am using only one port 8080, i have deleted other ports such as 8443 and 8778 via openshif yml as shown below. but you have you have to expose more ports this won't help.

Remote Connect to OpenShift MySQL without Port Forwarding

I am trying to set up production and development environment for my web project hosted at Openshift PAAS.
I should be able to deploy my web application after final tests and changes to Openshift (production environment).
I set my development environment using GITHUB(Since I do not want other people to connect to openshift).
How do they can connect to Openshift MYSQL server hosted at cloud without port forwarding.
It is not possible to connect to the MySQL server that is hosted on your OpenShift application without using port forwarding.

Openshift Online STOMP over EAP (HornetQ) port configuration

I have the solution working on a local environment. The problem is when the application outside the EAP gear tries to connect to the Stomp port.
How can I expose the new port for STOMP on Openshift online to another application on my openshift domain?
You would not be able to expose the STOMP port for public use, though you could do a port forward from your local workstation to use it. The only ports that are available publicly on OpenShift are 80/443/8000/8443

Publishing messages to a JMS server on another machine

I need to publish messages to a topic on a JMS server running on a different machine. The server on the remote machine is Glassfish v3 (OpenMQ). From reading other posts here, I think I need to tell the remote broker to accept JMS messages from a different IP than his own i.e not localhost. Actually, I'd like that remote broker to accept message from remote as well as the local machine.
Problem is, I can't figure out how to configure the remote machine's embedded broker, OpenMQ. I think it is possible from the Glassfish console, but can't figure it out. In jboss you'd execute with a -b 0.0.0.0, but the remote machine is not running jboss. It's Glassfish/OpenMQ. I'm new to all this as you can tell.
I think I know how to set up the JNDI context on the "local" machine that is publishing the messages to the other, remote machine. I've seen examples.
When you start the Message Broker (OpenMQ) by your self and not through GlassFish, you can connect to it (have his own jvm)
In Windows, you can start the GlassFish integrated OpenMQ inside the GlassFish Directory (in windows you can start it by:
glassfishv3\mq\bin\imqbrokerd
In the GlassFish Configuration you can set up the JMS Service Type to
REMOTE
(http://localhost:4848/common/index.jsf -> Configuraiton -> Java Message Service)
The other (maybe easier) option is to change the JMS Service Type to LOCAL. So, the GlassFish "manage" the JMS broker, but in an other jvm, which should be reachable by others