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
87
「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
420
Visual Studio Codeとコンテナでいい感じのRe:View執筆環境
ryusa
1
1.2k
JavaScriptと歩くポリシーエンジン jsPolicy
ryusa
1
470
TextAlive App APIと夢見る新しいUX
ryusa
1
270
Gitlab Operatorと夢見るGitlab自動化の旅
ryusa
2
820
AccessPoint Operator on Raspberry Pi
ryusa
1
970
Serviceをたずねて3000行 - Kubernetesコードリーディングの旅 -
ryusa
2
670
そのAPIはセキュアですか?
ryusa
2
740
「〇〇完全に理解したったww」から始めるエンジニア生活
ryusa
2
3.9k
Other Decks in Technology
See All in Technology
コードや知識を組み込む / Incorporate Code and knowledge
ks91
PRO
0
160
個人のAWSアカウントをマルチ運用してみた
miura55
2
250
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Musicを例に~
otanet
0
320
Rustで「プリズモイダル法」を利用して「土量計算」をガチでやる
nokonoko1203
1
360
「知的単純作業」を自動化する、地に足の着いた大規模言語モデル (LLM) の活用
nrryuya
8
6.5k
M&A戦略を支えるデータマネジメント (MIDAS Tech Study #16 GENDA Komiyama)
kommy339
1
170
kcp: Kubernetes APIs Are All You Need #techfeed_live / TechFeed Experts Night 28th
ytaka23
1
160
Building Dashboards as a Hobby
egmc
0
430
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
1
1.9k
令和最新版 Ruby プロファイラ "Pf2" のご紹介
osyoyu
0
170
IaCジェネレーターとBedrockで詳細設計書を生成してみた
tsukasa_ishimaru
4
950
Azureの基本的な権限管理の勉強会
yhana
1
2.2k
Featured
See All Featured
Facilitating Awesome Meetings
lara
43
5.6k
Rails Girls Zürich Keynote
gr2m
91
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1k
The Cost Of JavaScript in 2023
addyosmani
21
3.9k
GraphQLの誤解/rethinking-graphql
sonatard
56
9.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
261
12k
It's Worth the Effort
3n
180
27k
How to Ace a Technical Interview
jacobian
273
22k
Practical Orchestrator
shlominoach
183
9.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
66
14k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
Product Roadmaps are Hard
iamctodd
45
9.8k
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
完全に理解した (なにもわからなくなった)
おしまい