Unser Team entschied sich, den OpenShift Origin-Server zum Bereitstellen von Diensten zu verwenden. Wir haben eine separate VM mit OpenShift Origin Server installiert und funktioniert gut. Ich konnte unsere lokalen Docker-Images bereitstellen und diese Services laufen ebenfalls gut. Die Pods sind betriebsbereit, haben ihre eigene IP und ich kann die Service-Endpunkte von der VM aus erreichen.Expose-Dienst in OpenShift Origin Server - Router funktioniert nicht
Das Problem ist, ich kann es nicht funktionieren, so dass die Dienste außerhalb der Maschine ausgesetzt sind. Ich lese über die Router, die die richtige Art sind, Dienste offenzulegen, aber es wird einfach nicht funktionieren, jetzt einige Details.
Sagen wir, meine VM ist 10.48.1.1. Der Pod mit Containern Docker mit einem meinem Dienst auf IP läuft 172.30.67.15:
~$ oc get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
my-svc 172.30.67.15 <none> 8182/TCP 4h
Der Service ist einfach Frühlings-Boot-App mit REST-Endpunkt im Hafen ausgesetzt 8182. Whe ich es von VM nenne es Hosting, es funktioniert gut:
$ curl -H "Content-Type: application/json" http://172.30.67.15:8182/home
{"valid":true}
Jetzt wollte ich es draußen belichten, so habe ich einen Router: oc adm Router my-svc --ports = '8182'
ich die Schritte gefolgt von OpenShift dev doc sowohl über die CLI- als auch über die Konsolen-Benutzeroberfläche . Der Router wird erstellt in Ordnung, aber wenn ich dann seinen Status überprüfen möge, bekomme ich diese:
$ oc status
In project sample on server https://10.48.3.161:8443
...
Errors:
* route/my-svc is routing traffic to svc/my-svc, but either the administrator has not installed a router or the router is not selecting this route.
Ich kann nichts über diesen Fehler finden, die mir das Problem zu lösen helfen könnte - hat jemand ähnliches Problem gehabt? Gibt es eine andere (bessere/richtige?) Möglichkeit, den Service-Endpunkt offenzulegen? Ich bin neu bei OpenShift, daher werden alle Vorschläge berücksichtigt.