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
2026年度新卒技術研修 サイバーエージェントのデータベース 活用事例とパフォーマンス調査入門
cyberagentdevelopers
PRO
8
8.4k
みんなで作るAWS Tips 100連発 (FinOps編)
schwrzktz
1
190
AI時代に新卒採用、はじめました/junior-engineer-never-die
dmnlk
0
260
プロンプトエンジニアリングを超えて:自由と統制のあいだでつくる Platform × Context Engineering
yuriemori
0
190
LLM とプロンプトエンジニアリング/チューターを定義する / LLMs and Prompt Engineering, and Defining Tutors
ks91
PRO
0
390
🀄️ on swiftc
giginet
PRO
0
350
ルールルルルル私的函館観光ガイド── 函館の街はイクラでも楽しめる!
nomuson
0
190
Claude Teamプランの選定と、できること/できないこと
rfdnxbro
1
2.4k
Zero-Downtime Migration: Moving a Massive, Historic iOS App from CocoaPods to SPM and Tuist without Stopping Feature Delivery
kagemiku
0
240
Databricksで構築するログ検索基盤とアーキテクチャ設計
cscengineer
0
190
今年60歳のおっさんCBになる
kentapapa
2
390
サイバーフィジカル社会とは何か / What Is a Cyber-Physical Society?
ks91
PRO
0
190
Featured
See All Featured
Designing for Timeless Needs
cassininazir
0
190
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
How to build a perfect <img>
jonoalderson
1
5.4k
Claude Code のすすめ
schroneko
67
220k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
370
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
180
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1k
Test your architecture with Archunit
thirion
1
2.2k
Balancing Empowerment & Direction
lara
5
1k
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
完全に理解した (なにもわからなくなった)
おしまい