Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
VolumePluginの仕組みと実装解説
Slide 2
Slide 2 text
varsion: v2 name: "Kyohei Mizumoto" role: "SRE" interests: - "kubernetes" - "public cloud" - "golang" twitter: "@kyohmizu" url: "https://kyohmizu.com/" whoami
Slide 3
Slide 3 text
今⽇話すこと VolumePluginの概要 Volume作成の仕組み 実装解説 VolumeManager VolumePlugin (emptyDir/ConfigMap/Secret)
Slide 4
Slide 4 text
注意点 kubernetes v1.20.2ベースでお話しします Linuxノードに直接作成するVolumeが対象です (Windowsノード、CSI等は取り扱いません) 理解不⾜により内容に誤りがある可能性があります…︕
Slide 5
Slide 5 text
kubeletについて こちらを参照 https://speakerdeck.com/bells17/kubelet
Slide 6
Slide 6 text
VolumePluginについて kubelet内で動作するPlugin pod.spec.volumesに基づいてノード上にVolumeを作成する Volumeの種類ごとにPluginが⽤意されている https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#volume-v1-core
Slide 7
Slide 7 text
Volume作成の仕組み
Slide 8
Slide 8 text
引⽤︓https://speakerdeck.com/bells17/kubelet?slide=17
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
Volume作成の仕組み desired state of world ノードに作成・アタッチすべきVolume⼀覧 actual state of world ノードに作成・アタッチされたVolume⼀覧 desired state of world populator ノードにスケジュールされたPod⼀覧からdswを更新する reconciler dswとaswを⽐較し、未作成のVolumeの作成とaswの更新を⾏う
Slide 12
Slide 12 text
実装解説
Slide 13
Slide 13 text
実装解説 VolumePlugin定義 初期化 (kubelet起動時) Volume作成の流れ VolumePluginの実装 emptyDir ConfigMap Secret
Slide 14
Slide 14 text
実装解説 emptyDir/ComfigMap/Secretの保存パスについて Secretはメモリ領域(tmpfs)に作成される ComfigMap/Secretの動的更新と修復 emptyDirのv1.20での修正内容
Slide 15
Slide 15 text
実装解説 資料のリンク https://gist.github.com/kyohmizu/23ab1e76ebc2a2984694b144a0be9b78