Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
VolumePluginの仕組みと実装解説
kyo
February 22, 2021
Technology
0
17
VolumePluginの仕組みと実装解説
勉強会の資料です。
https://k8sinternal.connpass.com/event/203946/
kyo
February 22, 2021
Tweet
Share
More Decks by kyo
See All by kyo
kyohmizu
2
1.2k
kyohmizu
0
300
kyohmizu
0
26
kyohmizu
6
1.4k
kyohmizu
0
23
kyohmizu
0
1.1k
kyohmizu
0
110
kyohmizu
0
26
kyohmizu
0
22
Other Decks in Technology
See All in Technology
yuji1484
3
860
uzabase_saas_product
0
100
hayatan
0
200
udzura
2
260
kanaugust
PRO
0
160
thockin
3
960
kentaro
1
670
raykataoka
9
8.7k
sat
40
29k
go5paopao
9
1.6k
korodroid
0
220
hiroyaiizuka
0
150
Featured
See All Featured
jensimmons
207
10k
chriscoyier
145
20k
bermonpainter
342
26k
jmmastey
10
630
keavy
107
14k
malarkey
392
61k
davidbonilla
70
3.6k
dougneiner
118
7.9k
cherdarchuk
71
260k
philhawksworth
190
17k
jonyablonski
19
1.2k
holman
447
130k
Transcript
VolumePluginの仕組みと実装解説
varsion: v2 name: "Kyohei Mizumoto" role: "SRE" interests: - "kubernetes"
- "public cloud" - "golang" twitter: "@kyohmizu" url: "https://kyohmizu.com/" whoami
今⽇話すこと VolumePluginの概要 Volume作成の仕組み 実装解説 VolumeManager VolumePlugin (emptyDir/ConfigMap/Secret)
注意点 kubernetes v1.20.2ベースでお話しします Linuxノードに直接作成するVolumeが対象です (Windowsノード、CSI等は取り扱いません) 理解不⾜により内容に誤りがある可能性があります…︕
kubeletについて こちらを参照 https://speakerdeck.com/bells17/kubelet
VolumePluginについて kubelet内で動作するPlugin pod.spec.volumesに基づいてノード上にVolumeを作成する Volumeの種類ごとにPluginが⽤意されている https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#volume-v1-core
Volume作成の仕組み
引⽤︓https://speakerdeck.com/bells17/kubelet?slide=17
None
None
Volume作成の仕組み desired state of world ノードに作成・アタッチすべきVolume⼀覧 actual state of world
ノードに作成・アタッチされたVolume⼀覧 desired state of world populator ノードにスケジュールされたPod⼀覧からdswを更新する reconciler dswとaswを⽐較し、未作成のVolumeの作成とaswの更新を⾏う
実装解説
実装解説 VolumePlugin定義 初期化 (kubelet起動時) Volume作成の流れ VolumePluginの実装 emptyDir ConfigMap Secret
実装解説 emptyDir/ComfigMap/Secretの保存パスについて Secretはメモリ領域(tmpfs)に作成される ComfigMap/Secretの動的更新と修復 emptyDirのv1.20での修正内容
実装解説 資料のリンク https://gist.github.com/kyohmizu/23ab1e76ebc2a2984694b144a0be9b78