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
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CF Container-to-Container Network
Cloud Foundry Tokyo Meetup #3で発表した資料です
Kazuto Kusama
July 20, 2017
More Decks by Kazuto Kusama
See All by Kazuto Kusama
趣味でイベント配信をやっている者だ
jacopen
1
39
自宅LLMの話
jacopen
2
1.1k
プラットフォームエンジニアリングはAI時代の開発者をどう救うのか
jacopen
9
5.8k
OpenClawで回す組織運営
jacopen
3
1.3k
SREの仕事を自動化する際にやっておきたい5つのポイント
jacopen
6
1.7k
AI時代のインシデント対応 〜時代を切り抜ける、組織アーキテクチャ〜
jacopen
4
430
AI時代の開発とPlatform Engineeringについて考える
jacopen
0
290
AI によってシステム障害が増える!? ~AI エージェント時代だからこそ必要な、インシデントとの向き合い方~
jacopen
4
440
インシデント対応に必要となるAIの利用パターンとPagerDutyの関係
jacopen
0
480
Other Decks in Technology
See All in Technology
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.3k
パスキーでドライブする アカウント統合(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
320
会計事務所と顧問先の契約関係をOIDC・OAuthで表現する
terara
0
430
NANDでも描画したい!
nichica906
3
750
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
1
630
Claude Codeの体系的な理解と知識のフック
oikon48
3
1.9k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.5k
1.5時間を無駄にして学んだwsl2におけるaptとsnapの選択と仕組み
yosaka0123
0
450
The Django UUID Story - DjangoCon US 2026
pauloxnet
0
270
電話に出る Python のログの話
shinnosuke_kishida
0
270
サービス内で複数のOP・ASを連鎖させる(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
310
LLMアプリ、 雰囲気で運用してませんか? 〜LLMOpsの現在地〜
taka_aki
1
120
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
250
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Discover your Explorer Soul
emna__ayadi
2
1.3k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
KATA
mclloyd
PRO
35
15k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
430
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
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を利用。必要に応じて置き換え可能 • 足りない機能はあれど、今後いろいろ実装される予定