Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Weaveを試してみた
Report
Kazuto Kusama
Follow
Senior Solutions Engineer at HashiCorp Japan
Oct. 29, 2014
•
0 likes
29 likes
×
Be the first to like this
Show More
•
7,916 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Check these out next
オンラインゲームの仕組みと工夫
Yuta Imai
BuildKitの概要と最近の機能
Kohei Tokunaga
Redmine にいろいろ埋め込んでみた
Kohei Nakamura
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
root権限無しでKubernetesを動かす
Akihiro Suda
今だからこそ知りたい Docker Compose/Swarm 入門
Masahito Zembutsu
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
Preferred Networks
1
of
42
Top clipped slide
Weaveを試してみた
Oct. 29, 2014
•
0 likes
29 likes
×
Be the first to like this
Show More
•
7,916 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Technology
Dockerコンテナ同士を繋ぐ、Weaveを試してみた&調べてみたので共有します https://github.com/zettio/weave
Kazuto Kusama
Follow
Senior Solutions Engineer at HashiCorp Japan
Advertisement
Advertisement
Advertisement
Recommended
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
9.6K views
•
53 slides
Docker Compose 徹底解説
Masahito Zembutsu
60.5K views
•
123 slides
Dockerからcontainerdへの移行
Kohei Tokunaga
15.3K views
•
36 slides
Dockerからcontainerdへの移行
Akihiro Suda
5.7K views
•
36 slides
KubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjp
Preferred Networks
1.1K views
•
29 slides
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
Yahoo!デベロッパーネットワーク
1.5K views
•
35 slides
More Related Content
Slideshows for you
(20)
オンラインゲームの仕組みと工夫
Yuta Imai
•
863.4K views
BuildKitの概要と最近の機能
Kohei Tokunaga
•
3.6K views
Redmine にいろいろ埋め込んでみた
Kohei Nakamura
•
25.9K views
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
•
28.7K views
root権限無しでKubernetesを動かす
Akihiro Suda
•
7.7K views
今だからこそ知りたい Docker Compose/Swarm 入門
Masahito Zembutsu
•
23K views
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
•
40.9K views
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
Preferred Networks
•
1.4K views
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
•
2.2K views
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
naoki koyama
•
86.2K views
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
•
12.8K views
オンプレML基盤on Kubernetes パネルディスカッション
Yahoo!デベロッパーネットワーク
•
1.8K views
分散システムについて語らせてくれ
Kumazaki Hiroki
•
118.2K views
eStargzイメージとlazy pullingによる高速なコンテナ起動
Kohei Tokunaga
•
447 views
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
Ito Takayuki
•
494 views
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
•
1.5K views
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
•
60.6K views
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
•
82.5K views
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
•
10K views
世界一わかりやすいClean Architecture
Atsushi Nakamura
•
45.2K views
Viewers also liked
(20)
Headless Android (Wearable DevCon 2014)
Ron Munitz
•
503 views
Intel EdisonでAndroid Things Lチカ?その後は?
Hirokazu Egashira
•
1.6K views
An Overview of Android Things at jag201702
Hiroki Ishizuka
•
2K views
Cloud foundryのコミュニティを紹介するよ
Kazuto Kusama
•
1.9K views
自前CF環境を整えよう 2013年11月版
Kazuto Kusama
•
5.3K views
Cloudってどんなもの?
Kazuto Kusama
•
2.3K views
これからのOpenShiftの話をしよう
Kazuto Kusama
•
3.4K views
CloudFoundryをつかってみよう
Kazuto Kusama
•
5K views
Cloud Foundryは何故動くのか
Kazuto Kusama
•
10.4K views
はじめてのCF buildpack
Kazuto Kusama
•
10.7K views
Cloud Foundry: Cloud Native, Community, and Momentum
VMware Tanzu
•
492 views
Cloud Foundry V2 | Intermediate Deep Dive
Kazuto Kusama
•
3.7K views
Cloud Foundry V2を、もうちょっと深掘りしよう
Kazuto Kusama
•
9.2K views
たまにはOpenShiftも触ってみよう
Kazuto Kusama
•
21.8K views
DockerとKubernetesが作る未来
Kazuto Kusama
•
30.2K views
Cloud Foundry | How it works
Kazuto Kusama
•
9.3K views
Cloud foundry architecture and deep dive
Animesh Singh
•
6.7K views
Kubernetesを触ってみた
Kazuto Kusama
•
78.9K views
Embedded Android Workshop with Nougat
Opersys inc.
•
1.1K views
Android Things: Android for IoT
Opersys inc.
•
4.6K views
Advertisement
Similar to Weaveを試してみた
(20)
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
Nobuyuki Matsui
•
7.2K views
Dockerハンズオン
Kazuyuki Mori
•
2.3K views
Docker Swarm モード にゅうもん
Masahito Zembutsu
•
7.1K views
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
Naoki Nagazumi
•
18.2K views
Docker on Vagrant
Yoshiaki Sagawa
•
229 views
Docker ComposeでMastodonが必要なものを梱包する話
Masahito Zembutsu
•
7.1K views
Dockerことはじめ的なはなし
pinmarch_t Tada
•
627 views
Docker Tokyo
cyberblack28 Ichikawa
•
19.5K views
Webアプリケーション開発者のためのDockerハンズオン
虎の穴 開発室
•
102 views
Webアプリケーション開発者のためのDockerハンズオン20210519
虎の穴 開発室
•
214 views
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
VirtualTech Japan Inc.
•
2K views
ラズパイ2で動く Docker PaaS
npsg
•
3.9K views
Dockerでらくらく開発・運用を体感しよう
Takashi Makino
•
3.1K views
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Masahito Zembutsu
•
4.6K views
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Masahito Zembutsu
•
12.8K views
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Yosuke INOUE
•
62 views
JAWS-UG コンテナ支部 Docker入門 ハンズオン
Ryo Nakamaru
•
1.4K views
2019年度 CaaS ワークショップ @ NTTコム
TomoyaTakegoshi
•
27.4K views
Docker講習会資料
teruyaono1
•
107 views
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Naoki Nagazumi
•
5.6K views
More from Kazuto Kusama
(20)
Concourseで快適な自動化の旅
Kazuto Kusama
•
6.9K views
Istio, Kubernetes and Cloud Foundry (修正版)
Kazuto Kusama
•
7.1K views
Istio, Kubernetes and Cloud Foundry
Kazuto Kusama
•
2.2K views
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
Kazuto Kusama
•
56.3K views
k8sだけじゃないIstio - Cloud FoundryのIstioインテグレーションについて
Kazuto Kusama
•
3.2K views
Cloud Foundry Container Runtimeで快適Kubernetes運用
Kazuto Kusama
•
4.8K views
コンテナ時代だからこそ要注目! Cloud Foundry
Kazuto Kusama
•
11.2K views
改めてPaaSについて考えてみる
Kazuto Kusama
•
5.1K views
Cloud Foundry Container-to-Container Networking
Kazuto Kusama
•
1.6K views
CFの便利機能を他の環境でも。Open Service Broker
Kazuto Kusama
•
8.8K views
グループ会社を巻き込んで勉強会をやってみるには
Kazuto Kusama
•
8.9K views
Docker PaaSとしての OpenShift, Deis, Flynn比較
Kazuto Kusama
•
12K views
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
Kazuto Kusama
•
20.2K views
クラウドを『作る』ってどういうこと?
Kazuto Kusama
•
9.8K views
Lattice深掘り話
Kazuto Kusama
•
5.1K views
Cloud Foundryで学ぶ、PaaSのしくみ講座
Kazuto Kusama
•
26.8K views
OpenShift 3で、DockerのPaaSを作る話
Kazuto Kusama
•
12K views
知って欲しいPaaSの話
Kazuto Kusama
•
4.1K views
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Kazuto Kusama
•
13.7K views
KubernetesとOpenShiftの話
Kazuto Kusama
•
10.2K views
Advertisement
Recently uploaded
(20)
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
オラクルエンジニア通信
•
29 views
☀️【卡尔顿大学毕业证成绩单留学生首选】
15sad
•
2 views
20230516 @Mix Leap Hirohiko_Suwa
Masashi Nakagawa
•
83 views
CDLEハッカソン2022参加報告.pdf
SHOIWA1
•
7 views
SoftwareControl.pdf
ssusercd9928
•
15 views
JSTQB_テストプロセスの概念モデル.pdf
akipii Oga
•
135 views
Üslup ve tercüme.pdf
1Hmmtks
•
2 views
量子論.pdf
hiro150493
•
5 views
初学者のためのプロンプトエンジニアリング実践.pptx
Akifumi Niida
•
376 views
MC-800DMT intrusion detector manual
Vedard Security Alarm System Store
•
2 views
統計学の攻略_統計的仮説検定の9パターン.pdf
akipii Oga
•
133 views
オレオレになりがちなテスト計画を見直した話
terahide
•
25 views
ヘッドレス化したbaserCMS5とその機能
Ryuji Egashira
•
10 views
【2023年5月】平成生まれのためのUNIX&IT歴史講座
法林浩之
•
16 views
JSONEncoderで詰まった話
とん とんぼ
•
22 views
JSTQB_テストマネジメントとレビュープロセス.pdf
akipii Oga
•
113 views
【DL輪読会】Egocentric Video Task Translation (CVPR 2023 Highlight)
Deep Learning JP
•
6 views
HTTPの仕組みについて
iPride Co., Ltd.
•
0 views
ペンタエリスリトール市場.pdf
HinaMiyazu
•
3 views
20230602_enebular_meetup_kitazaki_v1.pdf
Ayachika Kitazaki
•
0 views
Weaveを試してみた
Weaveを試してみた dockerコンテナ間でネットワークを組もう
@jacopen Kazuto Kusama
NTT Communications Cloudn PaaSの開発・運用をやっています
コンテナ間でネットワークを 繋ぎたい
App DB
同一ホストなら $ sudo
docker run -d --name db training/postgres $ sudo docker run -d -P --name web --link db:db training/webapp python app.py ⇐ webコンテナは、環境変数でDBコンテナの接続先 を取得できる Docker linkを使うのが一般的
じゃあホストが異なる と・・・?
解決策
Weave Zettioが開発している、Dockerコンテナに仮想ネット ワークを提供するソフトウェア。Apache
Licenseで開 発されている。 ZettioはRabbitMQの開発者であるAlexis Richardson氏 と、Matthias Radestock氏によって設立された企業。 本社はロンドン。
https://github.com/zettio/weave
Docker Host1 Docker
Host2 10.0.1.1/24 10.0.1.2/24 Container1 Container2
DEMO1
Weaveのセットアップ sudo wget
-O /usr/local/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave sudo chmod a+x /usr/local/bin/weave 超簡単
Weaveの実行 (HOST1) weave
launch weave run 10.0.1.1/24 -t -i ubuntu /bin/bash (HOST2) weave launch 10.9.8.171 weave run 10.0.1.2/24 -t -i ubuntu /bin/bash Weave Weave Container1 10.0.1.2/24 Docker Host2 10.9.8.170 10.0.1.1/24 Docker Host1 10.9.8.171 Container2
Weave Weave Container1
10.0.1.2/24 Docker Host2 10.9.8.170 10.0.1.1/24 Docker Host1 10.9.8.171 Container2 ConoHa Container3 10.0.1.3/24 Weave Internet Router
DEMO2
Weaveのしくみ
Weave Router(weaver) ホスト間でネットワークを繋ぐ仕組み。weave
launch すると、weaverのコンテナが立ち上がる。 https://github.com/zettio/weave/blob/master/docs/deployment.png
Weave Router(weaver) docker
ps CONTAINER ID IMAGE COMMAND PORTS NAMES 79f34b6616d2 ubuntu:14.04 "/bin/bash" high_lalande e2c7ac764cd7 zettio/weave:git-765bfbb49d46 "/home/weave/weaver 0.0.0.0:6783->6783/tcp, 0.0.0.0:6783->6783/udp weave TCP, UDPの6783で通信している。この2つさえ空いて いれば良い。
Weave(wrapper command) 最初のセットアップでダウンロードしたもの。
中身はshell script。各種コマンドの提供の他、docker wrapperとして機能する。
例えばweave runコマンド run)
[ $# -gt 0 ] || usage validate_cidr $1 ⇐ cidrが正しいか確認 CIDR=$1 shift 1 create_bridge ⇐ bridgeの作成 CONTAINER=$(docker run -d "$@" | tail -n 1) with_container_netns $CONTAINER attach $CIDR echo $CONTAINER ;; ⇐ docker runの実行 ↑ dockerコンテナと同じNetwork Namespaceに 仮想interfaceの作成
Ambassadorパターン
Ambassadorパターン 他ホストのコンテナに接続するための戦略のひとつ。 ホストをまたいで接続する専用のコンテナ
(Ambassador)を立てるやり方。 Ambassador Ambassador Container1 Container2 Docker Host1 Docker Host2 Weaveは、まさにこのAmbassadorパターン。
もうちょっと試そう
Weave Weave Container1
10.0.1.2/24 Docker Host2 10.9.8.170 10.0.1.1/24 Docker Host1 10.9.8.171 Container2 ConoHa Container3 10.0.1.3/24 Weave 問題無く繋がる
Weave Weave Container1
10.0.1.2/24 Docker Host2 10.9.8.170 10.0.1.1/24 Docker Host1 10.9.8.171 Container2 ConoHa Container3 10.0.1.3/24 ×Weave weaver落とすと 10.0.1.3には 繋がらなくなる
Weave Weave Container1
10.0.1.2/24 Docker Host2 10.9.8.170 10.0.1.1/24 Docker Host1 10.9.8.171 Container2 ConoHa Container3 10.0.1.3/24 Weave Weave launchしなおしても 接続が回復しない (あれ?) ?
異なるサブネットのコンテナ Container1 Weave
Weave 10.0.1.2/24 10.0.2.2/24 Docker Host2 10.9.8.170 10.0.1.1/24 10.0.2.1/24 Docker Host1 10.9.8.171 Container2 Container3 Container4 想定した通り、10.0.1.1から10.0.2.2は繋がらない。 その逆も然り
深追い
Dockerホスト内では何が起きているのか
Dockerホスト内では何が起きているのか eth0 docker0
weave vethxx vethyy eth0 eth0 Container1 Weave Container Docker Host Dockerが作るdocker0やvethはそのままに、 新しくweaveというブリッジアダプタが作られる
Dockerホスト内では何が起きているのか eth0 docker0
weave vethxx vethweplxx vethyy vethweplyy eth0 ethwe eth0 ethwe Container1 Weave Container Docker Host weaver runされたコンテナごとに、vethweplxxxという仮想イン ターフェースが作られ、weaveに接続される。
Dockerホスト内では何が起きているのか eth0 docker0
weave vethxx vethweplxx vethyy vethweplyy eth0 ethwe eth0 ethwe Container1 Weave Container Docker Host weaver weaver container内では、weaverが動いている
Dockerホスト内では何が起きているのか eth0 docker0
weave vethxx vethweplxx vethyy vethweplyy eth0 ethwe eth0 ethwe Container1 Weave Container Docker Host weaver vethxx vethweplxx vethyy vethweplyy eth0 ethwe eth0 ethwe Weave Container Docker Host weave lauchする際に指定した他のweaverに接続 Weave Container eth0 docker0 weave weaver
Dockerホスト内では何が起きているのか eth0 docker0
weave vethxx vethweplxx vethyy vethweplyy eth0 ethwe eth0 ethwe Container1 Weave Container Docker Host weaver eth0 docker0 weave vethxx vethweplxx vethyy vethweplyy eth0 ethwe eth0 ethwe weaver Weave Container Weave Container Docker Host 結果、1つのL2ネットワークとして全てのコンテナが接続される! (肝心の部分ですが、時間切れのため、このあたりは推測です・・・)
感想
触ってみて思ったこと • weaverコマンドだけで済むので、気軽に試せるのがとても
良い • 自分が試した限りだと、これといったハマリポイントはな かった • 実運用するなら、weaverのオペレーションをなんとかしな いといけない。手動でweaver launchするのはあり得ない ので、serfとかのservice discoveryを組み合わせる必要が ありそう。
今後やりたいこと • weaverをダウンさせたときの再接続が上手くいかなかった
のが気になる。ドキュメント的にはしてくれそうなので、 追加で調べたい • weaver自体の仕組みを把握したい。golangで書かれてい るので読もうと思えば読める • 仕組み的にDockerでなくても、ちょっと書き換えるだけで 使えそう。LXCとか、Wardenとか • 他の仕組み、例えばCoreOSのFlannel(Rudder)と比較した い。
質問?
Advertisement