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
「L3以下は魔法で動いている!」と言いながらiptablesとkube-proxyを読んでみた話
Search
RyuSA
December 22, 2020
Technology
170
1
Share
「L3以下は魔法で動いている!」と言いながらiptablesとkube-proxyを読んでみた話
社内LTでKubernetesのServiceを少し深堀した話を再編
RyuSA
December 22, 2020
More Decks by RyuSA
See All by RyuSA
Java屋だってOperatorが作りたい!
ryusa
1
610
Visual Studio Codeとコンテナでいい感じのRe:View執筆環境
ryusa
1
1.6k
JavaScriptと歩くポリシーエンジン jsPolicy
ryusa
1
600
TextAlive App APIと夢見る新しいUX
ryusa
1
440
Gitlab Operatorと夢見るGitlab自動化の旅
ryusa
2
1.1k
AccessPoint Operator on Raspberry Pi
ryusa
1
1.2k
Serviceをたずねて3000行 - Kubernetesコードリーディングの旅 -
ryusa
2
910
そのAPIはセキュアですか?
ryusa
2
840
「〇〇完全に理解したったww」から始めるエンジニア生活
ryusa
2
4.5k
Other Decks in Technology
See All in Technology
MySQL 9.7がやってきた ~これまでのあらすじと基本情報~ @ 日本MySQLユーザ会会2026年04月 / mysql97-yattekita
sakaik
0
180
AIと乗り切った1,500ページ超のヘルプサイト基盤刷新とさらにその先の話
mugi_uno
2
320
カオナビに Suspenseを導入するまで / The Road to Suspense at kaonavi
kaonavi
1
440
Oracle Cloud Infrastructure presents managed, serverless MCP Servers for Oracle AI Database
thatjeffsmith
0
180
AI 時代の Platform Engineering
recruitengineers
PRO
1
120
OWASP APTSを眺めてみた
su3158
0
130
サンプリングは「作る」のか「使う」のか? 分散トレースのコストと運用を両立する実践的戦略 / Why you need the tail sampling and why you don't want it
ymotongpoo
3
140
Building Production-Ready Agents Microsoft Agent Framework
_mertmetin
0
160
サービスの信頼性を高めるため、形骸化した「プロダクションミーティング」を立て直すまでの取り組み
stefafafan
1
250
(きっとたぶん)人材育成や教育のような何かの話
sejima
0
670
AI時代の品質はテストプロセスの作り直し #scrumniigata
kyonmm
PRO
4
1.4k
2026年春のAgentCoreアプデ 細かいやつ全部まとめ
minorun365
3
210
Featured
See All Featured
Accessibility Awareness
sabderemane
1
110
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
170
The World Runs on Bad Software
bkeepers
PRO
72
12k
Crafting Experiences
bethany
1
140
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
[SF Ruby Conf 2025] Rails X
palkan
2
1k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.7k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
200
Building AI with AI
inesmontani
PRO
1
970
The Cost Of JavaScript in 2023
addyosmani
55
9.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
Transcript
と言いながら iptablesと kube-proxyを読んでみた話 L3以下は魔法で動いている!!!
本日のおはなし
Service なにもわからない
知っていること - Serviceはkube-proxyが深くかかわっている - Serviceはデフォルトでiptablesを使っているらしい - L3以下は魔法で動いている 知らないこと - iptablesの使いどころさん
- kube-proxyが何をしている?
実際に見てみる
(DeploymentとServiceを作成) Podを3つとSvcを作成
Workerノードのiptablesを眺める
iptables わからん \(^o^)/ 我、アプリ(?)の人間ぞ??
None
送信元192.168.0.0/16 から 送信先10.109.35.24/32 宛の TCPを転送しているっぽい?
送信元192.168.0.0/16 から 送信先10.109.35.24/32 宛の TCPを転送しているっぽい? nginxサービスのIPアドレス Kubeadmで設定したPodSubnet
None
確率で3つの場所に転送している……?
None
転送の最終宛先は各PodのIPアドレス
TCP発射 ↓ SvcのIPアドレス着弾 ↓ 確率(静的)分散 ↓ DNAT ↓ (魔法が発動する) ↓
PodのIPアドレスに転送
完全に理解した (なにもわかっていない)
ということでkube-proxy読んできた
None
None
更新処理
None
eventhandlers?
None
iptablesのProxiser
None
同期している?
None
どこかで初期化されているはず
None
これが走る
None
それっぽくない?
None
確率計算とレコード追加 Endpoint一覧をforで回す PodへのDNAT
完全に理解した (なにもわからなくなった)
おしまい