2017-02-09 2 views
1

ホストとブリッジモードのマラソンアプリを問題なく作成し、l4lbとmarathon-lbを使用してホストしました。それは問題なく動作します。エージェント間でDC/OS仮想ネットワークが動作しない

私は現在、デフォルトの "dcos" 9.0.0.0/8ネットワークを使用して、USERモードのネットワーキングを使用しようとしています。このモードでは、アプリケーションは同じエージェント上の他のコンテナとしか話せません。ホストOSは自分でホストされているコンテナとしか通信できません。ノードは仮想ネットワーク上で互いにトラフィックをルーティングすることはできないようです。

私はドッカー "nginx:alpine"コンテナを使用しています.2つのインスタンスが別々のホストにあります。彼らのIPアドレスは9.0.6.130と9.0.3.130です。 L4LBまたはMarathon-LBの設定はありません。サービスエンドポイントはなく、ホストネットワーク上に公開されているポートはありません。基本的には:そのうちの一つで、シェルで

"container": { 
    "docker": { 
     "image": "nginx:alpine", 
     "forcePullImage": false, 
     "privileged": false, 
     "network": "USER" 
    } 
    }, 
    "labels": null, 
    "ipAddress": { 
    "networkName": "dcos" 
    }, 
} 

は、私が持っている:他の側から

/ # ip addr list | grep 'inet 9' 
inet 9.0.6.130/25 scope global eth0 

/# nc -vz 9.0.6.130:80 
9.0.6.130:80 (9.0.6.130:80) open 

/# nc -vz 9.0.3.130:80 
nc: 9.0.3.130:80 (9.0.3.130:80): Operation timed out 

/# traceroute to 9.0.3.130 (9.0.3.130), 30 hops max, 46 byte packets 
traceroute to 9.0.3.130 (9.0.3.130), 30 hops max, 46 byte packets 
1 9.0.6.129 (9.0.6.129) 0.006 ms 0.002 ms 0.001 ms 
2 44.128.0.4 (44.128.0.4) 0.287 ms 0.272 ms 0.100 ms 
3 * * * 
4 * * * 

/ # ip addr list | grep 'inet 9' 
inet 9.0.3.130/25 scope global eth0 
/# nc -vz 9.0.3.130:80 
9.0.3.130:80 (9.0.3.130:80) open 
/# nc -vz 9.0.6.130:80 
/# traceroute 9.0.6.130 
traceroute to 9.0.6.130 (9.0.6.130), 30 hops max, 46 byte packets 
1 9.0.3.129 (9.0.3.129) 0.005 ms 0.003 ms 0.001 ms 
2 44.128.0.7 (44.128.0.7) 0.299 ms 0.241 ms 0.098 ms 
3 * * * 
4 * * * 

興味深いことに、私はされるべきだと思うものをpingを実行することができます次の(仮想)ホップ、およびすべての中間ホップ、tracerouteそれを表示しないにもかかわらず。 pingを実行しないのは、コンテナの仮想IPだけです。 (これらはコンテナの1つからのものです)

64 bytes from 44.128.0.7: seq=0 ttl=63 time=0.269 ms 
64 bytes from 44.128.0.4: seq=0 ttl=64 time=0.094 ms 
64 bytes from 9.0.3.129: seq=0 ttl=64 time=0.072 ms 
64 bytes from 9.0.6.129: seq=0 ttl=63 time=0.399 ms 
PING 9.0.6.130 (9.0.6.130): 56 data bytes (no response) 

アイデアはありますか?

答えて

0

DC/OSコミュニティメーリングリストの助けを借りてこれを見つけました。

RHEL7はデフォルトでfirewalldをインストールしますが、どのDC/OSを無効にする必要があります。私はそれをやっていましたが、それはノードが再起動されるまでDROPとしてFORWARDポリシーを残します。 DC/OSのファイアウォール操作では、デフォルトのポリシーではなく、ルールのみが変更されます。 (firewalldのように)どこかに指定しない限り、再起動時にデフォルトでは、とにかくだ

iptables -P FORWARD ACCEPT 

を、それはそれ以上のアクションなしでリブート後も保持する必要があります

は、これはそれを修正します。

関連する問題