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
1
150
「L3以下は魔法で動いている!」と言いながらiptablesとkube-proxyを読んでみた話
社内LTでKubernetesのServiceを少し深堀した話を再編
RyuSA
December 22, 2020
Tweet
Share
More Decks by RyuSA
See All by RyuSA
Java屋だってOperatorが作りたい!
ryusa
1
580
Visual Studio Codeとコンテナでいい感じのRe:View執筆環境
ryusa
1
1.5k
JavaScriptと歩くポリシーエンジン jsPolicy
ryusa
1
570
TextAlive App APIと夢見る新しいUX
ryusa
1
420
Gitlab Operatorと夢見るGitlab自動化の旅
ryusa
2
1.1k
AccessPoint Operator on Raspberry Pi
ryusa
1
1.2k
Serviceをたずねて3000行 - Kubernetesコードリーディングの旅 -
ryusa
2
890
そのAPIはセキュアですか?
ryusa
2
820
「〇〇完全に理解したったww」から始めるエンジニア生活
ryusa
2
4.4k
Other Decks in Technology
See All in Technology
Proxmoxで作る自宅クラウド入門
koinunopochi
0
180
Werner Vogelsが14年間 問い続けてきたこと
yusukeshimizu
2
210
Exadata Database Service ソフトウェアのアップデートとアップグレードの概要
oracle4engineer
PRO
1
1.2k
全員が「作り手」になる。職能の壁を溶かすプロトタイプ開発。
hokuo
1
570
BiDiってなんだ?
tomorrowkey
2
490
AWS Devops Agent ~ 自動調査とSlack統合をやってみた! ~
kubomasataka
2
210
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
AWS Amplify Conference 2026 - 仕様からリリースまで一気通貫生成 AI 時代のフルスタック開発
inariku
3
390
「AIでできますか?」から「Agentを作ってみました」へ ~「理論上わかる」と「やってみる」の隔たりを埋める方法
applism118
5
4.1k
Amazon Bedrock AgentCore EvaluationsでAIエージェントを評価してみよう!
yuu551
0
170
GitHub Copilot CLI 現状確認会議
torumakabe
12
4.7k
フロントエンド開発者のための「厄払い」
optim
0
170
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
106
230k
Optimizing for Happiness
mojombo
379
71k
The Limits of Empathy - UXLibs8
cassininazir
1
210
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
We Are The Robots
honzajavorek
0
140
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Thoughts on Productivity
jonyablonski
74
5k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
400
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
190
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
130
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
完全に理解した (なにもわからなくなった)
おしまい