SlideShare a Scribd company logo
Copyright@2016 NTT corp. All Rights Reserved.
2016/2/10
第31回PaaS勉強会
@sinohara
Container Communication on lattice #2
Copyright@2016 NTT corp. All Rights Reserved.
⾃⼰紹介
@sinohara
NTTでNWの研究開発してます
PaaSたのしい
第28回PaaS勉強会でもLTさせてもらいました!
Copyright@2016 NTT corp. All Rights Reserved.
Copyright@2016 NTT corp. All Rights Reserved.
What is lattice?
• コンテナ管理システム
(ルーティング、HM、ロギングetc)
• Pivotal社のOSS
• Cloud Foundryのdocker-image特化版
Copyright@2016 NTT corp. All Rights Reserved.
今⽇のトピック
latticeでコンテナ間通信
• コンテナ間の通信は未サポート
• Dockerはコンテナ間通信の仕組みが沢⼭あるが・・
→latticeはdockerではなくgarden-linux上で動く
Copyright@2016 NTT corp. All Rights Reserved.
(前回)
• 同⼀Cell(VM)内でコンテナ間通信は成功
• Cell跨りは間に合わず・・
Container #1 Container #2 Container #3 Container #4
LATTICE ARCHITECTURE
Cell-1Cell-0
eth0
10.0.1.21
w0m6uagc6vub-0
w0m6uagc6vub-1
10.254.0.1
w0m6uagc6vuc-0
w0m6uagc6vuc-1
10.254.0.5
wb-0m6uf716cb10
10.254.0.2
w0m6uf716lku-0
w0m6uf716lku-1
10.254.0.1
wb-0m6uf716cb20
10.254.0.6
w0m6uf716lkv-0
w0m6uf716lkv-1
10.254.0.5
Eth0
10.0.1.193
54.92.69.17854.92.69.172
Region = ap-northeast-1
Virtual Machine Container Network Interfacedescription Network Tunnel
wb-0m6uagc6m510
10.254.0.2
wb-0m6uagc6m500
10.254.0.6
kshino/lattice-php-cluster kshino/lattice-php-cluster kshino/lattice-php-cluster kshino/lattice-php-cluster
V0.2.5
Cell-brain
54.92.69.42
HTTP_GET 54.92.69.42.xip.io/index.php?ip=10.254.0.5
(php) http_get(http://10.254.0.5/phpinfo.php)
疎通確認方法
Copyright@2016 NTT corp. All Rights Reserved.
今⽇のトピック
latticeでコンテナ間通信
• コンテナ間の通信は未サポート
• Dockerはコンテナ間通信の仕組みが沢⼭あるが・・
→latticeはdockerではなくgarden-linux上で動く
• Cell間やってきました!
Copyright@2016 NTT corp. All Rights Reserved.
⽅針
• L2 over L3でつなぐ
• Ubuntuと相性の良いCanonical Fanを使⽤
• latticeのソース読むのはしんどいので
動いてるモノを触って出来る範囲でトライ
Copyright@2016 NTT corp. All Rights Reserved.
FanNetworking
•同⼀のClass B-NW内でOverlay + Tunneling
•コンテナIPのネゴシエーションがVM内で完結
•Overlayは/8占有。Cell毎に/24を割り当て
•コンテナのIPの共有は別途必要
•現在v0.3.0
172.16.0.0/16172.16.0.0/16
172.16.3.5
172.16.23.37
10.3.5.x/24
10.23.37.x/24
VM#1
VM#2
Overlay-NW
Class-B NW
https://wiki.ubuntu.com/FanNetworking
https://launchpad.net/ubuntu/+source/ubuntu-fan
https://insights.ubuntu.com/2015/06/24/ubuntu-fan-images/
Overlay-NW
Copyright@2016 NTT corp. All Rights Reserved.
流れを追って
説明します
Copyright@2016 NTT corp. All Rights Reserved.
Container #1 Container #2
LATTICE ARCHITECTURE
Cell-0 eth0(cell0)
10.0.1.21
Veth-host#1
Veth-guest#1
10.254.0.1
Veth-host#2
Veth-guest#2
10.254.0.5
Region = ap-northeast-1
Virtual Machine Container Network Interfacedescription Network Tunnel
Vbr#1
10.254.0.2
Vbr#2
10.254.0.6
tutum/apache-php tutum/apache-php
lattice=V0.6.0
Fan
Container #1 Container #2
Cell-0 eth0(cell0)
10.0.1.21
Veth-host#1
Veth-guest#1
10.254.0.1
Veth-host#2
Veth-guest#2
10.254.0.5
Vbr#1
10.254.0.2
Vbr#2
10.254.0.6
tutum/apache-php tutum/apache-php
10.0.1.0/24
Step 0. Lattice(初期状態)
Copyright@2016 NTT corp. All Rights Reserved.
Container #1 Container #2
Cell-0 eth0(cell0)
10.0.1.21
Veth-host#1
Veth-guest#1
10.254.0.1
Veth-host#2
Veth-guest#2
10.254.0.5
Region = ap-northeast-1
Vbr#1
10.254.0.2
Vbr#2
10.254.0.6
tutum/apache-php tutum/apache-php
lattice=V0.6.0
fan-br#1
250.1.21.1
tunl0
250.1.21.1
Container #1 Container #2
Cell-0 eth0(cell0)
10.0.1.21
Veth-host#1
Veth-guest#1
10.254.0.1
Veth-host#2
Veth-guest#2
10.254.0.5
Vbr#1
10.254.0.2
Vbr#2
10.254.0.6
tutum/apache-php tutum/apache-php
fan-br#1
250.1.21.1
tunl0
250.1.21.1
10.0.1.0/24
L2 over L3 tunnel
250.0.0.0/8
Step 1. FanをCellにセットアップ
• カーネル更新(3.19.0-41)
• ubuntu-fanのinstall
• Fan⽤Overlay-NW作成(250/8)
LATTICE ARCHITECTURE
Virtual Machine Container Network Interfacedescription Network Tunnel
Fan
Copyright@2016 NTT corp. All Rights Reserved.
Container #1 Container #2
Cell-0 eth0(cell0)
10.0.1.21
Veth-host#1
Veth-guest#1
10.254.0.1
Veth-host#2
Veth-guest#2
10.254.0.5
Region = ap-northeast-1
Vbr#1
10.254.0.2
Vbr#2
10.254.0.6
tutum/apache-php tutum/apache-php
lattice=V0.6.0
fan-br#1
250.1.21.1
fan-veth-h#1 fan-veth-h#2
fan-veth-g#1
250.1.21.2
fan-veth-g#2
250.1.21.3
tunl0
250.1.21.1
Container #1 Container #2
Cell-0 eth0(cell0)
10.0.1.21
Veth-host#1
Veth-guest#1
10.254.0.1
Veth-host#2
Veth-guest#2
10.254.0.5
Vbr#1
10.254.0.2
Vbr#2
10.254.0.6
tutum/apache-php tutum/apache-php
fan-br#1
250.1.21.1
fan-veth-h#1 fan-veth-h#2
fan-veth-g#1
250.1.21.2
fan-veth-g#2
250.1.21.3
tunl0
250.1.21.1
10.0.1.0/24
L2 over L3 tunnel
250.0.0.0/8
Step 2. 仮想NIC作成
LATTICE ARCHITECTURE
Virtual Machine Container Network Interfacedescription Network Tunnel
Fan
• netnsで仮想NICをコンテナ内に繋ぎ込み
• コンテナ内のルーティングテーブルに250/8の設定追加
Copyright@2016 NTT corp. All Rights Reserved.
Container #1 Container #2
Cell-0 eth0(cell0)
10.0.1.21
Veth-host#1
Veth-guest#1
10.254.0.1
Veth-host#2
Veth-guest#2
10.254.0.5
Region = ap-northeast-1
Vbr#1
10.254.0.2
Vbr#2
10.254.0.6
tutum/apache-php tutum/apache-php
lattice=V0.6.0
fan-br#1
250.1.21.1
fan-veth-h#1 fan-veth-h#2
fan-veth-g#1
250.1.21.2
fan-veth-g#2
250.1.21.3
tunl0
250.1.21.1
Container #1 Container #2
Cell-0 eth0(cell0)
10.0.1.21
Veth-host#1
Veth-guest#1
10.254.0.1
Veth-host#2
Veth-guest#2
10.254.0.5
Vbr#1
10.254.0.2
Vbr#2
10.254.0.6
tutum/apache-php tutum/apache-php
fan-br#1
250.1.21.1
fan-veth-h#1 fan-veth-h#2
fan-veth-g#1
250.1.21.2
fan-veth-g#2
250.1.21.3
tunl0
250.1.21.1
10.0.1.0/24
L2 over L3 tunnel
250.0.0.0/8
完成!
• IPinIP protocol(4)→許容
LATTICE ARCHITECTURE
Virtual Machine Container Network Interfacedescription Network Tunnel
Fan
Copyright@2016 NTT corp. All Rights Reserved.
DEMO
riak clusterを動かしてみた
Copyright@2016 NTT corp. All Rights Reserved.
Cell-0
DEMO概要
Router
(lattice-brain)
Cell-1
250.0.0.0/8
10.0.0.0/8
sinatra
riak
sinatra
riak
clustering
• 250/8でriak cluster構築
• 外から250/8に直接アクセス不可
→Sinatraでインタワークし、latticeのエンドポイント
からriak clusterを直接操作
http://52.1.2.3.xip.io:8098/
http://250.1.2.2:8098http://250.1.3.4:8098 InterWork InterWork
tcp-route 8098:8080tcp-route 8098:8080
Copyright@2016 NTT corp. All Rights Reserved.
まとめ
Lattice上でのコンテナ間通信(L2 over L3)の紹介
• PoCレベル
• netnsとかCellでの作業があります
• /8のprivate address(10/8)をlatticeが占有し
ちゃってる問題(IANA未使⽤の250/8で代替)
riak cluster on latticeのデモ
Latticeでクラスタリング、
あなたなら何に使いますか?

More Related Content

What's hot

OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
Etsuji Nakai
 

What's hot (9)

いまどきの組込みOSの​ ZephyrRTOSと​ OpenThreadを​ Arduino環境で遊んでみる
いまどきの組込みOSの​ ZephyrRTOSと​ OpenThreadを​ Arduino環境で遊んでみるいまどきの組込みOSの​ ZephyrRTOSと​ OpenThreadを​ Arduino環境で遊んでみる
いまどきの組込みOSの​ ZephyrRTOSと​ OpenThreadを​ Arduino環境で遊んでみる
 
コンテナって何?
コンテナって何?コンテナって何?
コンテナって何?
 
NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月
NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月
NFV/OPNFV概要 – OpenStack最新情報セミナー 2015年4月
 
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
 
DPDK QoS
DPDK QoSDPDK QoS
DPDK QoS
 
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
NiosII と RTOS について
NiosII と RTOS についてNiosII と RTOS について
NiosII と RTOS について
 
pkgsrc とは何か? - よもやま話
pkgsrc とは何か? - よもやま話pkgsrc とは何か? - よもやま話
pkgsrc とは何か? - よもやま話
 

Viewers also liked

Viewers also liked (15)

4 Ways to Merge IBM i Data with Microsoft Excel
4 Ways to Merge IBM i Data with Microsoft Excel4 Ways to Merge IBM i Data with Microsoft Excel
4 Ways to Merge IBM i Data with Microsoft Excel
 
Sunset park, paul auster
Sunset park, paul austerSunset park, paul auster
Sunset park, paul auster
 
Agenda setmana 48 -nov-desembre-curs16-17
Agenda setmana 48 -nov-desembre-curs16-17Agenda setmana 48 -nov-desembre-curs16-17
Agenda setmana 48 -nov-desembre-curs16-17
 
Case histories luigi nespoli slogan
Case histories luigi nespoli sloganCase histories luigi nespoli slogan
Case histories luigi nespoli slogan
 
La Empresa Y Su Entorno
La Empresa Y Su EntornoLa Empresa Y Su Entorno
La Empresa Y Su Entorno
 
El ordenador y sus componentes.
El ordenador y sus componentes.El ordenador y sus componentes.
El ordenador y sus componentes.
 
Agenda setmana 51 -desembre-curs16-17
Agenda setmana 51 -desembre-curs16-17Agenda setmana 51 -desembre-curs16-17
Agenda setmana 51 -desembre-curs16-17
 
Locks? We Don't Need No Stinkin' Locks - Michael Barker
Locks? We Don't Need No Stinkin' Locks - Michael BarkerLocks? We Don't Need No Stinkin' Locks - Michael Barker
Locks? We Don't Need No Stinkin' Locks - Michael Barker
 
2do como-se-aprende-a-jugar-al-futbol
2do como-se-aprende-a-jugar-al-futbol2do como-se-aprende-a-jugar-al-futbol
2do como-se-aprende-a-jugar-al-futbol
 
Agenda 6è b setmana 46 -novembre-curs 16-17
Agenda 6è b setmana 46 -novembre-curs 16-17Agenda 6è b setmana 46 -novembre-curs 16-17
Agenda 6è b setmana 46 -novembre-curs 16-17
 
Phát triển hoạt động thanh toán không dùng tiền mặt tại ngân hàng nông nghiệp...
Phát triển hoạt động thanh toán không dùng tiền mặt tại ngân hàng nông nghiệp...Phát triển hoạt động thanh toán không dùng tiền mặt tại ngân hàng nông nghiệp...
Phát triển hoạt động thanh toán không dùng tiền mặt tại ngân hàng nông nghiệp...
 
Microsoft excel 2010 intermediated advanced
Microsoft excel 2010 intermediated advancedMicrosoft excel 2010 intermediated advanced
Microsoft excel 2010 intermediated advanced
 
Знаете ли вы сказки А.С. Пушкина
Знаете ли вы сказки А.С. ПушкинаЗнаете ли вы сказки А.С. Пушкина
Знаете ли вы сказки А.С. Пушкина
 
IT Service Catalog Examples
IT Service Catalog ExamplesIT Service Catalog Examples
IT Service Catalog Examples
 
La communication média et hors média
La communication média et hors médiaLa communication média et hors média
La communication média et hors média
 

Similar to Container communication on lattice #2

Similar to Container communication on lattice #2 (20)

ベアメタルプロビジョニング(Ironic)について
ベアメタルプロビジョニング(Ironic)についてベアメタルプロビジョニング(Ironic)について
ベアメタルプロビジョニング(Ironic)について
 
serverless openstack 101
serverless openstack 101serverless openstack 101
serverless openstack 101
 
OpenStack Ops Mid-cycle Meetup 参加報告
OpenStack Ops Mid-cycle Meetup 参加報告OpenStack Ops Mid-cycle Meetup 参加報告
OpenStack Ops Mid-cycle Meetup 参加報告
 
OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月
OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月
OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
 
KubeCon EU報告(ランタイム関連,イメージ関連)
KubeCon EU報告(ランタイム関連,イメージ関連)KubeCon EU報告(ランタイム関連,イメージ関連)
KubeCon EU報告(ランタイム関連,イメージ関連)
 
分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介
 
Orb oracle
Orb oracleOrb oracle
Orb oracle
 
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはコンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
 
OpenStack Congress Deep Dive
OpenStack Congress Deep DiveOpenStack Congress Deep Dive
OpenStack Congress Deep Dive
 
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
 
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
 
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
 
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそばLagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
 
日本と世界のDockerコミュニティ
日本と世界のDockerコミュニティ日本と世界のDockerコミュニティ
日本と世界のDockerコミュニティ
 
AKSとTerraformでKubernetesクラスター作成
AKSとTerraformでKubernetesクラスター作成AKSとTerraformでKubernetesクラスター作成
AKSとTerraformでKubernetesクラスター作成
 
Docker and OpenVNet
Docker and OpenVNetDocker and OpenVNet
Docker and OpenVNet
 
Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
 
Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)
 

Recently uploaded

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 

Recently uploaded (14)

LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 

Container communication on lattice #2

  • 1. Copyright@2016 NTT corp. All Rights Reserved. 2016/2/10 第31回PaaS勉強会 @sinohara Container Communication on lattice #2
  • 2. Copyright@2016 NTT corp. All Rights Reserved. ⾃⼰紹介 @sinohara NTTでNWの研究開発してます PaaSたのしい 第28回PaaS勉強会でもLTさせてもらいました!
  • 3. Copyright@2016 NTT corp. All Rights Reserved.
  • 4. Copyright@2016 NTT corp. All Rights Reserved. What is lattice? • コンテナ管理システム (ルーティング、HM、ロギングetc) • Pivotal社のOSS • Cloud Foundryのdocker-image特化版
  • 5. Copyright@2016 NTT corp. All Rights Reserved. 今⽇のトピック latticeでコンテナ間通信 • コンテナ間の通信は未サポート • Dockerはコンテナ間通信の仕組みが沢⼭あるが・・ →latticeはdockerではなくgarden-linux上で動く
  • 6. Copyright@2016 NTT corp. All Rights Reserved. (前回) • 同⼀Cell(VM)内でコンテナ間通信は成功 • Cell跨りは間に合わず・・ Container #1 Container #2 Container #3 Container #4 LATTICE ARCHITECTURE Cell-1Cell-0 eth0 10.0.1.21 w0m6uagc6vub-0 w0m6uagc6vub-1 10.254.0.1 w0m6uagc6vuc-0 w0m6uagc6vuc-1 10.254.0.5 wb-0m6uf716cb10 10.254.0.2 w0m6uf716lku-0 w0m6uf716lku-1 10.254.0.1 wb-0m6uf716cb20 10.254.0.6 w0m6uf716lkv-0 w0m6uf716lkv-1 10.254.0.5 Eth0 10.0.1.193 54.92.69.17854.92.69.172 Region = ap-northeast-1 Virtual Machine Container Network Interfacedescription Network Tunnel wb-0m6uagc6m510 10.254.0.2 wb-0m6uagc6m500 10.254.0.6 kshino/lattice-php-cluster kshino/lattice-php-cluster kshino/lattice-php-cluster kshino/lattice-php-cluster V0.2.5 Cell-brain 54.92.69.42 HTTP_GET 54.92.69.42.xip.io/index.php?ip=10.254.0.5 (php) http_get(http://10.254.0.5/phpinfo.php) 疎通確認方法
  • 7. Copyright@2016 NTT corp. All Rights Reserved. 今⽇のトピック latticeでコンテナ間通信 • コンテナ間の通信は未サポート • Dockerはコンテナ間通信の仕組みが沢⼭あるが・・ →latticeはdockerではなくgarden-linux上で動く • Cell間やってきました!
  • 8. Copyright@2016 NTT corp. All Rights Reserved. ⽅針 • L2 over L3でつなぐ • Ubuntuと相性の良いCanonical Fanを使⽤ • latticeのソース読むのはしんどいので 動いてるモノを触って出来る範囲でトライ
  • 9. Copyright@2016 NTT corp. All Rights Reserved. FanNetworking •同⼀のClass B-NW内でOverlay + Tunneling •コンテナIPのネゴシエーションがVM内で完結 •Overlayは/8占有。Cell毎に/24を割り当て •コンテナのIPの共有は別途必要 •現在v0.3.0 172.16.0.0/16172.16.0.0/16 172.16.3.5 172.16.23.37 10.3.5.x/24 10.23.37.x/24 VM#1 VM#2 Overlay-NW Class-B NW https://wiki.ubuntu.com/FanNetworking https://launchpad.net/ubuntu/+source/ubuntu-fan https://insights.ubuntu.com/2015/06/24/ubuntu-fan-images/ Overlay-NW
  • 10. Copyright@2016 NTT corp. All Rights Reserved. 流れを追って 説明します
  • 11. Copyright@2016 NTT corp. All Rights Reserved. Container #1 Container #2 LATTICE ARCHITECTURE Cell-0 eth0(cell0) 10.0.1.21 Veth-host#1 Veth-guest#1 10.254.0.1 Veth-host#2 Veth-guest#2 10.254.0.5 Region = ap-northeast-1 Virtual Machine Container Network Interfacedescription Network Tunnel Vbr#1 10.254.0.2 Vbr#2 10.254.0.6 tutum/apache-php tutum/apache-php lattice=V0.6.0 Fan Container #1 Container #2 Cell-0 eth0(cell0) 10.0.1.21 Veth-host#1 Veth-guest#1 10.254.0.1 Veth-host#2 Veth-guest#2 10.254.0.5 Vbr#1 10.254.0.2 Vbr#2 10.254.0.6 tutum/apache-php tutum/apache-php 10.0.1.0/24 Step 0. Lattice(初期状態)
  • 12. Copyright@2016 NTT corp. All Rights Reserved. Container #1 Container #2 Cell-0 eth0(cell0) 10.0.1.21 Veth-host#1 Veth-guest#1 10.254.0.1 Veth-host#2 Veth-guest#2 10.254.0.5 Region = ap-northeast-1 Vbr#1 10.254.0.2 Vbr#2 10.254.0.6 tutum/apache-php tutum/apache-php lattice=V0.6.0 fan-br#1 250.1.21.1 tunl0 250.1.21.1 Container #1 Container #2 Cell-0 eth0(cell0) 10.0.1.21 Veth-host#1 Veth-guest#1 10.254.0.1 Veth-host#2 Veth-guest#2 10.254.0.5 Vbr#1 10.254.0.2 Vbr#2 10.254.0.6 tutum/apache-php tutum/apache-php fan-br#1 250.1.21.1 tunl0 250.1.21.1 10.0.1.0/24 L2 over L3 tunnel 250.0.0.0/8 Step 1. FanをCellにセットアップ • カーネル更新(3.19.0-41) • ubuntu-fanのinstall • Fan⽤Overlay-NW作成(250/8) LATTICE ARCHITECTURE Virtual Machine Container Network Interfacedescription Network Tunnel Fan
  • 13. Copyright@2016 NTT corp. All Rights Reserved. Container #1 Container #2 Cell-0 eth0(cell0) 10.0.1.21 Veth-host#1 Veth-guest#1 10.254.0.1 Veth-host#2 Veth-guest#2 10.254.0.5 Region = ap-northeast-1 Vbr#1 10.254.0.2 Vbr#2 10.254.0.6 tutum/apache-php tutum/apache-php lattice=V0.6.0 fan-br#1 250.1.21.1 fan-veth-h#1 fan-veth-h#2 fan-veth-g#1 250.1.21.2 fan-veth-g#2 250.1.21.3 tunl0 250.1.21.1 Container #1 Container #2 Cell-0 eth0(cell0) 10.0.1.21 Veth-host#1 Veth-guest#1 10.254.0.1 Veth-host#2 Veth-guest#2 10.254.0.5 Vbr#1 10.254.0.2 Vbr#2 10.254.0.6 tutum/apache-php tutum/apache-php fan-br#1 250.1.21.1 fan-veth-h#1 fan-veth-h#2 fan-veth-g#1 250.1.21.2 fan-veth-g#2 250.1.21.3 tunl0 250.1.21.1 10.0.1.0/24 L2 over L3 tunnel 250.0.0.0/8 Step 2. 仮想NIC作成 LATTICE ARCHITECTURE Virtual Machine Container Network Interfacedescription Network Tunnel Fan • netnsで仮想NICをコンテナ内に繋ぎ込み • コンテナ内のルーティングテーブルに250/8の設定追加
  • 14. Copyright@2016 NTT corp. All Rights Reserved. Container #1 Container #2 Cell-0 eth0(cell0) 10.0.1.21 Veth-host#1 Veth-guest#1 10.254.0.1 Veth-host#2 Veth-guest#2 10.254.0.5 Region = ap-northeast-1 Vbr#1 10.254.0.2 Vbr#2 10.254.0.6 tutum/apache-php tutum/apache-php lattice=V0.6.0 fan-br#1 250.1.21.1 fan-veth-h#1 fan-veth-h#2 fan-veth-g#1 250.1.21.2 fan-veth-g#2 250.1.21.3 tunl0 250.1.21.1 Container #1 Container #2 Cell-0 eth0(cell0) 10.0.1.21 Veth-host#1 Veth-guest#1 10.254.0.1 Veth-host#2 Veth-guest#2 10.254.0.5 Vbr#1 10.254.0.2 Vbr#2 10.254.0.6 tutum/apache-php tutum/apache-php fan-br#1 250.1.21.1 fan-veth-h#1 fan-veth-h#2 fan-veth-g#1 250.1.21.2 fan-veth-g#2 250.1.21.3 tunl0 250.1.21.1 10.0.1.0/24 L2 over L3 tunnel 250.0.0.0/8 完成! • IPinIP protocol(4)→許容 LATTICE ARCHITECTURE Virtual Machine Container Network Interfacedescription Network Tunnel Fan
  • 15. Copyright@2016 NTT corp. All Rights Reserved. DEMO riak clusterを動かしてみた
  • 16. Copyright@2016 NTT corp. All Rights Reserved. Cell-0 DEMO概要 Router (lattice-brain) Cell-1 250.0.0.0/8 10.0.0.0/8 sinatra riak sinatra riak clustering • 250/8でriak cluster構築 • 外から250/8に直接アクセス不可 →Sinatraでインタワークし、latticeのエンドポイント からriak clusterを直接操作 http://52.1.2.3.xip.io:8098/ http://250.1.2.2:8098http://250.1.3.4:8098 InterWork InterWork tcp-route 8098:8080tcp-route 8098:8080
  • 17. Copyright@2016 NTT corp. All Rights Reserved. まとめ Lattice上でのコンテナ間通信(L2 over L3)の紹介 • PoCレベル • netnsとかCellでの作業があります • /8のprivate address(10/8)をlatticeが占有し ちゃってる問題(IANA未使⽤の250/8で代替) riak cluster on latticeのデモ Latticeでクラスタリング、 あなたなら何に使いますか?