Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CF Container-to-Container Network
Search
Kazuto Kusama
July 20, 2017
Technology
0
150
CF Container-to-Container Network
Cloud Foundry Tokyo Meetup #3で発表した資料です
Kazuto Kusama
July 20, 2017
Tweet
Share
More Decks by Kazuto Kusama
See All by Kazuto Kusama
AI によってシステム障害が増える!? ~AI エージェント時代だからこそ必要な、インシデントとの向き合い方~
jacopen
4
260
インシデント対応に必要となるAIの利用パターンとPagerDutyの関係
jacopen
0
160
今日からはじめるプラットフォームエンジニアリング
jacopen
8
4k
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
8
1.2k
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
4
5.4k
あなたの興味は信頼性?それとも生産性? SREとしてのキャリアに悩むみなさまに伝えたい選択肢
jacopen
7
10k
PaaSの歴史と、 アプリケーションプラットフォームのこれから
jacopen
7
2.9k
AI x インシデント管理で拡げるサービスオーナーシップ
jacopen
0
280
間違いだらけのポストモーテム - ホントに役立つレビューはこうだ!
jacopen
7
2k
Other Decks in Technology
See All in Technology
進化する大規模言語モデル評価: Swallowプロジェクトにおける実践と知見
chokkan
PRO
3
420
AIを使ってテストを楽にする
kworkdev
PRO
0
380
猫でもわかるAmazon Q Developer CLI 解体新書
kentapapa
1
220
re:Invent 2025の見どころと便利アイテムをご紹介 / Highlights and Useful Items for re:Invent 2025
yuj1osm
0
540
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
350
AWS DMS で SQL Server を移行してみた/aws-dms-sql-server-migration
emiki
0
270
JAWS UG AI/ML #32 Amazon BedrockモデルのライフサイクルとEOL対応/How Amazon Bedrock Model Lifecycle Works
quiver
1
540
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
8
4k
GCASアップデート(202508-202510)
techniczna
0
220
次世代のメールプロトコルの斜め読み
hirachan
2
200
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
760
激動の時代を爆速リチーミングで乗り越えろ
sansantech
PRO
1
220
Featured
See All Featured
How GitHub (no longer) Works
holman
315
140k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
900
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Thoughts on Productivity
jonyablonski
71
4.9k
A designer walks into a library…
pauljervisheath
209
24k
What's in a price? How to price your products and services
michaelherold
246
12k
Designing Experiences People Love
moore
142
24k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Designing for Performance
lara
610
69k
Faster Mobile Websites
deanohume
310
31k
Being A Developer After 40
akosma
91
590k
Transcript
Cloud Foundry Container-to-Container Networking
Pivotal Japan - Platform Architect Kazuto Kusama @jacopen
Microserviceしてますか? Four Blair Services Pvt. Ltd. https://commons.wikimedia.org/wiki/File:Services4.png
機能ごとにソフトウェアを細分化 開発チームも機能単位
いままでのCFだと・・・ appA appB appC appD appA appD ` Router DB
MQ Cell Cell Cell HTTPのエンドポイントが Router経由になってしまう
コンテナ間で直接通信したい! appA appB appC appD appA appD Router DB MQ
Cell Cell Cell
そこで
Container-to-Container Networking
Container-to-Container Networking • Cloud Foundryでコンテナ間通信を可能にする新機能 • 最近GAになりました! • 最新版は1.1.0 •
Pivotal Cloud Foundryだと1.11から GAとして提供
利用方法 • BOSHでcf-networking-releaseをセットアップ https://github.com/cloudfoundry-incubator/cf-networking-release • UAAでnetwork.adminのscopeを有効化 • ドキュメントはこちら https://docs.cloudfoundry.org/devguide/deploy-apps/cf- networking.html
さっそくDEMO
ざっくりとした仕組みの説明
Architecture https://github.com/cloudfoundry-incubator/cf-networking-release/blob/develop/docs/diagram.png 青: 元からある仕組み 緑: 新しく追加された仕組み 赤: 差し替え可能
https://github.com/cloudfoundry-incubator/cf-networking-release/blob/develop/docs/diagram.png
CNI • Container Network Interface • CNCF(Cloud Native Computing Foundation)によって
策定されている、コンテナネットワーキングのための 仕様 • Cloud Foundryの他、KubernetesやMesos、rkt ・・・要はDocker以外 で使われている
Container Runtime Container Network Interface Loopback Plugin Bridge Plugin PTP
Plugin MAC VLAN Plugin 3rd-party Plugin
Silk • CNI準拠のContainer Networking fabric • VXLANを使ってホスト間の通信を行う • Flannelにインスパイアされて作られている •
初期はFlannelを利用。etcdが嫌でRDBを使うように 作り直したらしい
None
None
Garden-runc Garden External Networker CF Wrapper CNI Plugin Silk CLI
Plugin Linux コンテナランタイム Garden External Networker API CNI API Legacy Networking NetIn(NAT from Host) NetOut(Application Security Group) Silk daemon Silk Controller diego cell IPAM iptables netlink などなど設定
Garden-runc Garden External Networker CF Wrapper CNI Plugin Silk CLI
Plugin Linux コンテナランタイム Garden External Networker API CNI API Legacy Networking NetIn(NAT from Host) NetOut(Application Security Group) Silk daemon Silk Controller diego cell IPAM iptables netlink などなど設定 Silk controllerが Cellにsubnetを 払い出す Wrapper Pluginが Port forwardingや ASGを設定 veth pairの作成 etc...
cf allow-access myapp backend-app --port 7000 --protocol tcp Policyの設定 AgentがPolling
iptablesに反映
ここが足りないC2C Networking • Service Discovery欲しい・・・ • 今のところはEurekaやamalgam8を使って実現
Next Steps • App Identity for external services • Bandwidth
limiting • logging enhancement • support port ranges • https://www.pivotaltracker.com/n/projects/1498342
まとめ • CFのC2C Networking機能はMicroservicesやるのに便利 • CNIに準拠したSilkを利用。必要に応じて置き換え可能 • 足りない機能はあれど、今後いろいろ実装される予定