Docker 1.9 + Weave 1.2.1ブリッジモード

今日、Docker 1.9にアップグレードした後、以前は優れた機能を発揮していたWeaveを壊しました。

問題の説明とその解決策。





問題番号1



Ubuntu 14.04に表示されます。



織りの起動を実行しようとすると、次のことが発生します。

root@sahara:~/weave# /usr/local/bin/weave launch --no-dns --init-peer-count 8 --ipalloc-range 10.128.0.0/10 10.43.68.61 10.43.68.62 10.43.68.63 10.43.68.64 10.43.68.65 10.43.68.69 10.43.68.70 Error deleting container: Error response from daemon: Unable to remove filesystem for 4f15a00bcf3b7d6df83ed8467cad98177df331d2deed580c4547effc2db13a02: remove /var/lib/docker/containers/4f15a00bcf3b7d6df83ed8467cad98177df331d2deed580c4547effc2db13a02/shm: device or resource busy
      
      







判明したように、これはすでに既知の問題です。

github.com/weaveworks/weave/issues/1647

github.com/weaveworks/weave/issues/1652



彼らは、おそらくaufsの代わりにoverlayfsの使用に切り替えることが役立つと書いていますが、カーネル3.19をインストールすることは助けになりました(linux-image-extra-virtual-lts-vividパッケージ)



IRCの#weavenetworkでWeaveを支援してくれてありがとう



問題番号2



2番目の問題は、Weaveを使用してMesos + Kubernetesクラスター内のコンテナーを接続し、コンテナー内のぶら下がり未使用のeth0がまったく必要ないことです。 さらに、MesosとWeaveの適切な組み合わせの方法がまだ発明されていないWeave 1.0でも設定しました。



そのため、docker0ブリッジをweaveに置き換えることにより、公式に推奨される織り方をコンテナにバインドする方法を使用しました。

これはDocker 1.8 + Weave 1.1.1まで機能しました。

今日はすべてが壊れています:



 root@sahara:~/weave# /usr/local/bin/weave launch-router --no-dns --init-peer-count 8 --ipalloc-range 10.128.0.0/10 10.43.68.61 10.43.68.62 10.43.68.63 10.43.68.64 10.43.68.65 10.43.68.69 10.43.68.70 Error response from daemon: Cannot start container b5c0d3e7b69a0101586d1ffe79862f292ed72b72d3f6bf5e21debf086b81db67: [8] System error: failed to set gateway while updating gateway: network is unreachable root@sahara:~/weave#
      
      





ここでは、IRCからのクラブの助けが役に立たなかったので、自分で泳ぎ出さなければなりませんでした。

長い試行錯誤を通して、初期構成中にウィーブブリッジに静的IPアドレスを割り当てることが悪の根源であることが判明しました。

つまり。 以前、 /etc/network/interfaces.d/weave



/ /etc/network/interfaces.d/weave



/ /etc/network/interfaces.d/weave



/ /etc/network/interfaces.d/weave



このエントリでブリッジを上げました:



 auto weave iface weave inet manual pre-up /usr/local/bin/weave --local create-bridge post-up ip addr add dev weave 10.4.7.1/16 pre-down ifconfig weave down post-down brctl delbr weave
      
      





判明したように、 ip add...



を削除ip add...



、docker --bridge weaveが起動して正常に動作します。

また、このモードで織りを開始するには、FASTDPをオフにする必要があります。

export WEAVE_NO_FASTDP=1







要約すると、設定ファイルの関連部分は次のとおりです。

/etc/network/interfaces.d/weave:



 auto weave iface weave inet manual pre-up WEAVE_NO_FASTDP=1 /usr/local/bin/weave --local create-bridge pre-down ifconfig weave down post-down brctl delbr weave
      
      





/etc/init/weave.conf:



 start on filesystem and started docker respawn script export DOCKER_BRIDGE=weave export WEAVE_NO_FASTDP=1 /usr/local/bin/weave launch-router --no-dns --init-peer-count 8 --ipalloc-range 10.128.0.0/10 10.43.68.61 10.43.68.62 10.43.68.63 10.43.68.64 10.43.68.65 10.43.68.69 10.43.68.70 /usr/local/bin/weave expose 10.4.7.1/16 /usr/bin/docker attach weave end script
      
      





/ etc / default / docker:

 DOCKER_NETWORK_OPTS="--bridge weave --fixed-cidr=10.4.7.0/24"
      
      







これですべてが以前と同じように機能します。



おそらく、この経験は誰かの時間と神経を節約するでしょう。



All Articles