CORE Network Emulator には、私が寄稿して記事を書いた Docker Service があります。4.8にある初期バージョンはほとんど壊れていますが、修正して改善しました。プル リクエストはGitHubにあります。
このサービスを使用すると、Docker イメージに「core」のタグを付けることができ、サービス設定のオプションとして表示されます。コンテナーで docker サービスを開始する Docker イメージを選択する必要があります。次に、そのノードで実行するコンテナーを選択します。それは非常にうまくスケーリングし、私の 16Gb マシンには 2000 以上のノードがありました。
あなたはOVSについても言及しました。これはまだ CORE に組み込まれていませんが、手動で使用できます。これに関する CORE メーリング リストの質問に答えました。OVS を使用して標準の CORE スイッチ (ブリッジ) を切り替える方法の概要を簡単に説明します。役に立つ場合は、以下にテキストを複製します。
これまでopenvswitchを実際に使用したことはありませんでしたが、簡単に見てみました。
パッケージマネージャー(Ubuntu 15.04)を介してopenvswitchをインストールしました:
sudo apt-get install openvswitch-switch
次に、CORE 4.8 で非常に単純なネットワークを構築しました。スイッチに接続された2台のPC。COREでエミュレーションを開始しました。次に、ホストで、セットアップされたブリッジを確認しました。
sudo brctl show
bridge name bridge id STP enabled interfaces
b.3.76 8000.42c789ce95e9 no veth1.0.76
veth2.0.76
docker0 8000.56847afe9799 no
lxcbr0 8000.000000000000 no
スイッチを表すブリッジは b.3.76 と呼ばれ、インターフェイス veth1.0.76 と veth2.0.76 が接続されていることがわかります。ブリッジを削除します。
sudo ip link set b.3.76 down
sudo brctl delbr b.3.76
次に、openvswitch ブリッジをセットアップします。
sudo ovs-vsctl add-br b.3.76
sudo ovs-vsctl add-port b.3.76 veth1.0.76
sudo ovs-vsctl add-port b.3.76 veth2.0.76
スイッチが機能しているように見えるので、ノード間で ping を実行できるようになりました。openvswitch のこれ以上の構成は試していません。
CORE エミュレーションを停止しても、明らかに openvswitch ブリッジまたはポートは削除されないため、手動で行う必要があります。
sudo ovs-vsctl del-port veth2.0.76
sudo ovs-vsctl del-port veth1.0.76
sudo ovs-vsctl del-br b.3.76
これは、スクリプトを使用して比較的簡単に自動化できます。または、少し作業を加えれば、docker に統合できます。
お役に立てれば