2017-02-15 86 views
1

我们的团队决定尝试使用OpenShift Origin服务器来部署服务。 我们有一台安装了OpenShift Origin服务器的独立虚拟机,工作正常。我能够部署我们的本地docker映像,并且这些服务也运行良好 - Pod正在运行,可以获得自己的IP,并且可以从VM访问服务端点。在OpenShift Origin Server中公开服务 - 路由器不工作

的问题是我无法得到它的工作,所以服务外机裸露。我读到了有关路由器的消息,这些路由器假设是暴露服务的正确方式,但它现在不起作用,现在有些细节。

可以说我的虚拟机是10.48.1.1。用我的服务,一个搬运工人容器吊舱上IP 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 

服务是简单的Spring应用程序启动与REST端点在端口8182 暴露WHE我把它从VM收留了它,它工作得很好:

$ curl -H "Content-Type: application/json" http://172.30.67.15:8182/home 
{"valid":true} 

现在,我想外界揭露它,所以我创建了一个路由器: OC ADM路由器我-SVC --ports =“8182”

我遵循的步骤从OpenShift dev doc来自CLI和控制台用户界面。路由器被创建罚款,但后来当我要检查它的状态,我得到这个:

$ 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. 

我找不到任何有关这个错误,可以帮助我解决问题的任何事情 - 没有任何人有类似的问题?是否有任何其他(更好/合适?)的方式公开服务端点?我是OpenShift的新手,所以任何建议都会被认可。

回答

1

如果有人有兴趣,我终于找到了“解决方案”。 问题是没有创建“路由器”服务 - 我不知道它必须创建。

为了创建这项服务,我一步一步地按照OpenShift doc page的说明操作,这很简单,但我无法使用管理员帐户登录。 我用默认的管理员帐户

$ oc login -u system:admin 

但不是使用现有的证书,它一直要求我的密码,但它不应该。什么问题?我的ENV变量是复位,我不得不重新设置他们

$ export KUBECONFIG="$(pwd)"/openshift.local.config/master/admin.kubeconfig 
$ export CURL_CA_BUNDLE="$(pwd)"/openshift.local.config/master/ca.crt 
$ sudo chmod +r "$(pwd)"/openshift.local.config/master/admin.kubeconfig 

这是在OpenShift文档OpenShift docs描述的第一步。之后,证书设置正确,登录按预期工作。作为管理员,我创建了路由器服务(第一条链路),路由开始工作 - 没有更多的错误。 所以最后它变得非常简单和虚拟,但鉴于我没有OpenShift的经验,我很难找出发生了什么事情。如果有人会有同样的问题,希望这会有所帮助。