2017-02-15 83 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的經驗,我很難找出發生了什麼事情。如果有人會有同樣的問題,希望這會有所幫助。