Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
「L3以下は魔法で動いている!」と言いながらiptablesとkube-proxyを読んでみた話
RyuSA
December 22, 2020
Technology
1
32
「L3以下は魔法で動いている!」と言いながらiptablesとkube-proxyを読んでみた話
社内LTでKubernetesのServiceを少し深堀した話を再編
RyuSA
December 22, 2020
Tweet
Share
More Decks by RyuSA
See All by RyuSA
ryusa
2
280
ryusa
2
520
ryusa
2
440
ryusa
2
180
Other Decks in Technology
See All in Technology
kateinoigakukun
0
120
lain21
14
5.3k
you
0
150
shwars
0
110
kawaguti
2
220
caori_t
0
120
line_developers
PRO
2
180
akakou
2
380
oracle4engineer
2
500
ymatsuwitter
0
240
miu_crescent
0
320
kawaguti
0
430
Featured
See All Featured
addyosmani
312
21k
lara
17
2.9k
rmw
12
870
paulrobertlloyd
71
3.7k
pauljervisheath
195
15k
brad_frost
157
6.5k
brianwarren
82
4.8k
holman
288
130k
shpigford
370
42k
orderedlist
PRO
330
36k
jmmastey
10
700
tammielis
237
23k
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
完全に理解した (なにもわからなくなった)
おしまい