2017-02-15 5 views
1

私たちのチームはOpenShift Originサーバーを使用してサービスを展開しようとしました。 OpenShift Originサーバーがインストールされ、正常に動作している別のVMがあります。私はローカルドッカーのイメージを展開することができ、それらのサービスもうまく動いています。ポッドは稼動しており、独自のIPを取得しており、VMからサービスエンドポイントに到達することができます。OpenShift Origin Serverのサービスが公開されていません

問題は動作しないため、サービスはマシンの外部に公開されています。私は、サービスを公開する正しい方法であると思われるルータについて読んだが、ちょうど今、いくつかの詳細は機能しないだろう。

私のVMは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 

サービスは、私はそれをホストするVMからそれを呼び出すWHEポート8182. で露出RESTエンドポイントを持つ単純な春ブートアプリですそれだけで正常に動作します:

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

は今、私は外でそれを公開したかったので、私はルータを作成しました: OCのADMルータ私-SVC --ports =「8182」

を私はOpenShift dev docからの手順に従っCLIとコンソールUIの両方から。ルータは罰金作成されますが、私はそのステータスを確認したいときに、私はこれを取得:

$ 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で説明した第1のステップの一つでした。その後、証明書が正しく設定され、ログインは正常に動作します。管理者として、私はルーターサービス(1番目のリンク)を作成し、ルートは動作し始めました - それ以上のエラーはありません。 最後に、それはかなりシンプルでダミーですが、私はOpenShiftの経験がなかったので、何が起こっているのかを知ることは難しかったです。誰かが同じ問題を抱えているなら、それが助けてくれることを願ってください。

関連する問題