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
160
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時代の開発者をどう救うのか
jacopen
9
4.4k
OpenClawで回す組織運営
jacopen
3
820
SREの仕事を自動化する際にやっておきたい5つのポイント
jacopen
6
1.5k
AI時代のインシデント対応 〜時代を切り抜ける、組織アーキテクチャ〜
jacopen
4
340
AI時代の開発とPlatform Engineeringについて考える
jacopen
0
130
AI によってシステム障害が増える!? ~AI エージェント時代だからこそ必要な、インシデントとの向き合い方~
jacopen
4
370
インシデント対応に必要となるAIの利用パターンとPagerDutyの関係
jacopen
0
340
今日からはじめるプラットフォームエンジニアリング
jacopen
8
4.7k
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
8
1.8k
Other Decks in Technology
See All in Technology
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
8
5k
TUNA Camp 2026 京都Stage ヒューリスティックアルゴリズム入門
terryu16
0
570
Phase01_AI座学_基礎
overflowinc
0
4.4k
Amazon Qはアマコネで頑張っています〜 Amazon Q in Connectについて〜
yama3133
1
150
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
5
2.4k
JEDAI認定プログラム JEDAI Order 2026 受賞者一覧 / JEDAI Order 2026 Winners
databricksjapan
0
380
俺の/私の最強アーキテクチャ決定戦開催 ― チームで新しいアーキテクチャに適合していくために / 20260322 Naoki Takahashi
shift_evolve
PRO
1
460
Phase08_クイックウィン実装
overflowinc
0
2k
SaaSの操作主体は人間からAIへ - 経理AIエージェントが目指す深い自動化
nishihira
0
110
Sansanの認証基盤を支えるアーキテクチャとその振り返り
sansantech
PRO
1
110
OpenClawでPM業務を自動化
knishioka
1
280
Featured
See All Featured
Between Models and Reality
mayunak
2
240
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Into the Great Unknown - MozCon
thekraken
40
2.3k
Google's AI Overviews - The New Search
badams
0
950
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
230
Ruling the World: When Life Gets Gamed
codingconduct
0
180
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
270
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
160
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
91
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.2k
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を利用。必要に応じて置き換え可能 • 足りない機能はあれど、今後いろいろ実装される予定