BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース ZettioがDocker用ネットワークシステムのWeaveをリリース

ZettioがDocker用ネットワークシステムのWeaveをリリース

原文(投稿日:2014/09/09)へのリンク

Weaveは,Dockerコンテナのオーバーレイネットワーキングシステムだ。 Docker自体でも単一のホスト上のコンテナをリンクできるが,Weaveを使用すれば,複数のホスト上の分散されたコンテナを接続することが可能になる。WeaveはZettioが,Apache 2オープンソースライセンスの下でリリースしている。Zettioは"ゼタバイト時代のアプリ"をターゲットに,RabbitMQの開発者であるAlexis RichardsonMatthias Radestock両氏が設立した新興企業だ。

"Weaveはネットワークをアプリケーションに適合させます。その逆ではありません。"と,Richardson氏は言う。つまり,

コンテナのような新しい展開テクノロジは,それがどのように機能するかを変更しなくても,メリットを活かすことができるべきだ,と私たちは考えています。その大きな部分を占めるのがネットワーキングです。 Weaveは,アプリケーションやネットワークが共通のトポロジを自動的に共有するように,ソフトウェア定義されたネットワークをコンテナのレベルに組み込みます。これは,一貫性とスケールを達成するための優れた方法です。

システムは2つのコンポーネントで構成されている。

  1. Weaver – ネットワーク接続された各ホスト上のDockerコンテナ内で動作する,Goで実装された仮想ネットワークスイッチおよびルータ。
  2. Weave – Weaverを起動するための,Dockerのコマンドラインをラップするスクリプト。Weave仮想ネットワークへのコンテナの接続と,IPアドレスの割り当てを行う。

オーバーレイネットワークには,ポート6783でのTCPおよびUDP接続が必要だ。 接続が確立されれば,クラウドやデータセンタを越えて動作することも可能になる。 さらに,途中にWeaveノードを経由するパスさえあれば,直接到達できないホスト上のコンテナ間もルートすることができる。ローカルネットワークサービスとオーバーレイネットワーク間で,(iptablesルールを使用して)上りと下りのランプを提供することも可能だ。

Weaveは,"すべてのコンテナが接続された巨大なイーサネットスイッチ"と説明されているが,同時にルーティングの側面も備えている。 現時点ではIPv4のみがサポート対象だ。IPv6のサポートは,将来的に希望される機能リストにあげられている。さらに開発チームでは,各コンテナのIPアドレス割り当てをユーザが管理しなくてもよいように,DHCPあるいはDNS的な機能の実装も目指している。

Weaveネットワークは,パスワードを指定して暗号化することもできる。サブネットを使用して,Weaveオーバーレイネットワーク上で運用中の,相互接続されたコンテナのグループそれぞれを分離することも可能だ(VLANタグを使用したアイソレーションはサポートされていない)。Weaveはそれぞれのコンテナ内で,'ethwe'というインターフェースを提供する。既定では,このインターフェースは,Dockerの生成した通常のeth0インターフェースに追加されて,ホスト上のdocker0にアタッチする("-net=none"オプションを指定して,この動作をオフにすることもできる)。

Weaveは,仮想ネットワークの階層化というトレンドを維持することによって,あるタイプのオーバーレイ(例えばVMwareのNSXのような,ハイパーバイザベースのネットワーク)を,他の仮想ネットワーク(例えば,NFV(Network Functions Virtualisation)とSDN(Software Defined Networking)を組み合わせた仮想マシン上で動作する,"クラウド上の"ユーザ管理ネットワーク)の"アンダーレイ"にすることを可能にしている。さらには,Open vSwitch(OVS)のようなオープンソースツールやLinuxカーネル実装であるVXLanの使用に対抗して,コンテナの接続を簡単にすることや,DockerのJérôme Petazzoni氏によるPipeworkのようなシステムが提供するネットワークを置き換えることも可能だ。

この記事に星をつける

おすすめ度
スタイル

BT