2017-12-29 22 views
0

私は2つのサービス、TomcatとMysqlを持っています。 Tomcatは正面に向いているので、私はそれにノードポートを使用していますが、mysqlコンテナの場合、サービス用にCluster Ipタイプを使用しています。ノード間でKubernetesサービスにアクセスできない

私はKuberntesクラスタに複数のノードがあり、複数のTomcatレプリカがあります。 Tomcatのコンテナがマスターノードに入ってきても正常に動作していますが、他のノードで生成された場合、他のサービスとの接続ができないため失敗しています。

誰でも、ここでエンドポイントを提供する方法を助けて、TomcatがJDBC経由でMySQLサービスに接続できるようにすることができます。

現在、サービス名自体を使用してサービスを参照しています。

エラー -
私はDBホスト名とjdbc URLからdbにアクセスしていますが、不明なホストエラーが発生しています。

+0

データベースのURLはどこにありますか。同じ名前空間内で動作するenv変数を使用して注入するか、k8 dnsを使用してで利用できるようにすることができます。 .svc.cluster.local –

+0

はい。すでにそれをしました。同じことを試みた。ポッドがマスターノードにある場合にのみ機能します。それ以外の場合は動作していません – Arora20

+0

データベースにアクセスするために使用しているURLは何ですか?クラスタをどのように展開しましたか?ユーザーポッドがマスターノードで実行されない –

答えて

0

MySQLではstatefulsetを使用し、clusterIpでは "none"を使用することをお勧めします。

apiVersion: v1 
kind: Service 
metadata: 
    name: mysql 
    labels: 
    app: mysql 
spec: 
    clusterIP: None 
    ports: 
    - port: 3306 
    name: server 
    selector: 
    app: mysql 
関連する問題