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
120
「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
530
Visual Studio Codeとコンテナでいい感じのRe:View執筆環境
ryusa
1
1.4k
JavaScriptと歩くポリシーエンジン jsPolicy
ryusa
1
530
TextAlive App APIと夢見る新しいUX
ryusa
1
350
Gitlab Operatorと夢見るGitlab自動化の旅
ryusa
2
980
AccessPoint Operator on Raspberry Pi
ryusa
1
1.1k
Serviceをたずねて3000行 - Kubernetesコードリーディングの旅 -
ryusa
2
810
そのAPIはセキュアですか?
ryusa
2
780
「〇〇完全に理解したったww」から始めるエンジニア生活
ryusa
2
4.2k
Other Decks in Technology
See All in Technology
バックオフィス向け toB SaaS バクラクにおけるレコメンド技術活用 / recommender-systems-in-layerx-bakuraku
yuya4
5
590
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
140
3D生成AIのための画像生成
kosukeito
2
340
生成AIのユースケースをとにかく集めてまるっと学ぶ!/ all about generative ai usecases
gakumura
2
280
Linuxのパッケージ管理とアップデート基礎知識
go_nishimoto
0
610
今日からはじめるプラットフォームエンジニアリング
jacopen
8
1.7k
営業向け誰でも話せるOCIセールストーク
oracle4engineer
PRO
2
110
От ручной разметки к LLM: как мы создавали облако тегов в Lamoda. Анастасия Ангелова, Data Scientist, Lamoda Tech
lamodatech
0
820
バクラクの認証基盤の成長と現在地 / bakuraku-authn-platform
convto
4
770
アジャイル脅威モデリング#1(脅威モデリングナイト#8)
masakane55
3
240
Perl歴約10年のエンジニアがフルスタックTypeScriptに出会ってみた
papix
1
200
AIでめっちゃ便利になったけど、結局みんなで学ぶよねっていう話
kakehashi
PRO
1
440
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.5k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
KATA
mclloyd
29
14k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
Faster Mobile Websites
deanohume
306
31k
Optimizing for Happiness
mojombo
377
70k
A designer walks into a library…
pauljervisheath
205
24k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
13
1.4k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
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
完全に理解した (なにもわからなくなった)
おしまい