2016-09-10 26 views
3

Kubernetesではサービス用の外部IPを作成できます。 Docker Swarmでは、ノードIPとは別のサービスごとにエンドポイントを設定することは可能ですか?例えばDocker 1.12 Swarm Service外部IP

node1 192.168.1.22 
    node2. 192.168.1.23 

私のサービスは、次のようになります。

myweb1 192.168.1.101. 80 

だから私は、各ノード上で実行中のタスクを持っているでしょうが、サービスはhttp://192.168.1.101でアクセス可能になります。

答えて

3

できません。スウォームモードのサービスは、オーバーレイネットワークにのみ割り当てることができるため、サービスはホストのネットワークに何らかのブリッジなしで公開することはできません(つまり、--publishオプションを使用)。

内部的に(オーバーレイネットワーク内で)、Swarmはどのノードで実行されているかにかかわらず、サービスごとにipを割り当てます。

+0

ブリッジネットワーク上のサービスに「パブリック」ネットワーク上のIPを割り当てることはできますか? –

+1

できません。別のパブリックIPアドレスを取得するためにホストネットワークを共有するサービスが必要です。要求された機能であることがわかりましたが、サポートされていません。https://github.com/docker/swarmkit/issues/989 なぜですかノードの外に見えるサービスのためのIPを持っていたいですか?通常、ノードの1つにトラフィックを送信する外部ロードバランサをいくつか持っていて、それ以降はswarmがトラフィックを正しいトラフィックにリダイレクトします。特定のポート ' - publish 8080:80'でサービスをエクスポートすると、そのポートの任意のノード**からサービスにアクセスできます。 – Alkaline

+0

@Alkaline、私はちょうどあなたの答えにあなたのコメントを見た。その - 公開は間違いなくチケットであり、の任意のノードから到達可能なサービスは素晴らしいです。私はこれを見てから冗長な答えを削除しました。 –

関連する問題