2017-01-23 1 views
0

IセットアップOpenShift環境にサービスにアクセスすることができません:Openshift:次のバージョンで私のMac上でクラスタのホスト名によって

Mac OS Sierra, Version:10.12.2 (16C67) 
oc v1.5.0-alpha.2+e4b43ee 
kubernetes v1.5.2+43a9be4 
features: Basic-Auth 

私はoc cluster upを行うことによって実行されている開発者向けバージョンを入手することができたとdeveloperユーザー管理を与えました権利。次に、私は、次のコマンドを発行してpostgresコンテナを追加しました:

oc new-app https://github.com/MojoJojo/authenticated-payments.git --name="postgres-keycloak" -l name="postgres-keycloak" --context-dir=postgres-keycloak 

コマンドが期待通りに働いていたとCluster HostnameCluster IPアドレスを使用してサービスを作成しました。管理コンソールの「クラスタHostname`のように反映されます。

~ ❯❯❯ oc describe service/postgres-keycloak 
Name:   postgres-keycloak 
Namespace:  authenticated-collections 
Labels:   app=postgres-keycloak 
       name=postgres-keycloak 
Selector:  app=postgres-keycloak,deploymentconfig=postgres-keycloak,name=postgres-keycloak 
Type:   ClusterIP 
IP:    172.30.123.160 
Port:   5432-tcp 5432/TCP 
Endpoints: 
Session Affinity: None 
No events. 


~ ❯❯❯ oc describe pods/postgres-keycloak-2-8r9n5                                          ⏎ 
Name:   postgres-keycloak-2-8r9n5 
Namespace:  authenticated-collections 
Security Policy: restricted 
Node:   192.168.65.2/192.168.65.2 
Start Time:  Mon, 23 Jan 2017 03:24:41 +0200 
Labels:   app=postgres-keycloak 
       deployment=postgres-keycloak-2 
       deploymentconfig=postgres-keycloak 
       name=postgres-keycloak 
Status:   Running 

次に、私は以下のように別のコンテナを作成しました:

oc new-app https://github.com/MojoJojo/authenticated-payments.git --name="jboss-keycloak" -l name="jboss-keycloak" --context-dir=jboss-keycloak 

上記のGitリポジトリには、次の環境変数を宣言Dockerfileがあります。

POSTGRES_PORT_5432_TCP_ADDR=postgres-keycloak.authenticatedcollections.svc.cluster.local 

POSTGRES_PORT_5432_TCP_PORT=5432 

確認して、上記の環境変数が2番目のコンテナに正しく設定されています。 問題は、2番目のサービスが最初のコンテナの 'postgres-keycloak'データベースに接続できないことです。

さらに調査したところ、POD、クラスタIP、およびクラスタのホスト名に対してpingを実行できますが、psqlクライアントは、ポッドのIPアドレスを直接使用すると接続できることがわかりました。私の結論はこれまでのところ、DNS解決がうまくいっているということです。ちょっと混乱しているようなサービス構成です。サービスプロキシが要求をコンテナに転送していないようです。 また、上記抽出のEndpoint(ゼロ)が問題の原因であるかどうかわかりませんか? Endpointsは、サービスがクラスタの外部からアクセスされている場合にのみ使用されます。

テスト用のWebサーバーのような他のサービスをインストールしようとしましたが、Cluster HostnamesまたはIPアドレスのいずれも動作していないようです。

この問題のトラブルシューティングと修正に役立つヒント、ヒント、およびポインタを本当にありがとうと思います。

ありがとうございました。

答えて

0

私の場合、ネームスペースはauthenticated-collectionsですが、env変数にはauthenticatedcollectionsを使用しています。私はそれがこのようなものであるべきだと思う

POSTGRES_PORT_5432_TCP_ADDR=postgres-keycloak.authenticated-collections.svc.cluster.local 

は、それは質問や設定ミスで単にタイプミスですか? また、両方のポッドが同じプロジェクトで実行されているとします。

関連する問題