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
140
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
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
3
2.2k
あなたの興味は信頼性?それとも生産性? SREとしてのキャリアに悩むみなさまに伝えたい選択肢
jacopen
6
5.1k
PaaSの歴史と、 アプリケーションプラットフォームのこれから
jacopen
7
2k
AI x インシデント管理で拡げるサービスオーナーシップ
jacopen
0
150
間違いだらけのポストモーテム - ホントに役立つレビューはこうだ!
jacopen
7
1.5k
2024/10 PagerDuty機能アップデート
jacopen
1
58
ゲームから学ぶ、いちばん速いインシデント対応
jacopen
1
110
PEK2024 Recap
jacopen
2
180
クラウドネイティブの本質から考える、生産性と信頼性の両立
jacopen
3
930
Other Decks in Technology
See All in Technology
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
610
Oracle Cloud Infrastructure:2025年2月度サービス・アップデート
oracle4engineer
PRO
1
360
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
17
45k
【内製開発Summit 2025】イオンスマートテクノロジーの内製化組織の作り方/In-house-development-summit-AST
aeonpeople
1
110
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
270
SA Night #2 FinatextのSA思想/SA Night #2 Finatext session
satoshiimai
1
150
システム・ML活用を広げるdbtのデータモデリング / Expanding System & ML Use with dbt Modeling
i125
1
280
1行のコードから社会課題の解決へ: EMの探究、事業・技術・組織を紡ぐ実践知 / EM Conf 2025
9ma3r
0
170
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
210
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
140
深層学習と古典的画像アルゴリズムを組み合わせた類似画像検索内製化
shutotakahashi
1
270
短縮URLをお手軽に導入しよう
nakasho
0
110
Featured
See All Featured
Designing Experiences People Love
moore
140
23k
Producing Creativity
orderedlist
PRO
344
39k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Docker and Python
trallard
44
3.3k
Scaling GitHub
holman
459
140k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Automating Front-end Workflow
addyosmani
1368
200k
Site-Speed That Sticks
csswizardry
4
390
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Building Your Own Lightsaber
phodgson
104
6.2k
How to train your dragon (web standard)
notwaldorf
91
5.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
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を利用。必要に応じて置き換え可能 • 足りない機能はあれど、今後いろいろ実装される予定