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
VolumePluginの仕組みと実装解説
Search
Kyohei Mizumoto
February 22, 2021
Technology
0
91
VolumePluginの仕組みと実装解説
勉強会の資料です。
https://k8sinternal.connpass.com/event/203946/
Kyohei Mizumoto
February 22, 2021
Tweet
Share
More Decks by Kyohei Mizumoto
See All by Kyohei Mizumoto
サイバーセキュリティの最新動向:脅威と対策
kyohmizu
1
210
コンテナセキュリティの基本と脅威への対策
kyohmizu
4
1.5k
安全な Kubernetes 環境を目指して
kyohmizu
4
1.1k
Unlocking Cloud Native Security
kyohmizu
5
1.2k
コンテナ × セキュリティ × AWS
kyohmizu
10
3.8k
コンテナセキュリティ
kyohmizu
10
4.1k
コンテナイメージのマルウェア検出とその実用性について
kyohmizu
4
3.3k
Play with 🐐 in Kubernetes
kyohmizu
1
1.3k
Security Command Center × PagerDuty 自動アラート通知の取り組み
kyohmizu
0
620
Other Decks in Technology
See All in Technology
reinvent2024を起点に振り返るサーバーレスアップデート
mihonda
1
140
LLM活用の現在とこれから:LayerXにおける事例とともに 2025/1 ver. / layerx-llm-202501
yuya4
3
220
信頼性を支えるテレメトリーパイプラインの構築 / Building Telemetry Pipeline with OpenTelemetry
ymotongpoo
8
2.5k
メンバーがオーナーシップを発揮しやすいチームづくり
ham0215
2
310
ブロックチェーンR&D企業における SREの実態 / SRE Kaigi 2025
datachain
0
1.6k
re:Invent2024 KeynoteのAmazon Q Developer考察
yusukeshimizu
1
170
サーバレスの未来〜The Key to Simplifying Everything〜
kawaji_scratch
1
280
SREとしてスタッフエンジニアを目指す / SRE Kaigi 2025
tjun
11
3k
Git scrapingで始める継続的なデータ追跡 / Git Scraping
ohbarye
5
630
iPadOS18でフローティングタブバーを解除してみた
sansantech
PRO
1
180
SREKaigi.pdf
_awache
1
1.6k
Site Reliability Engineering on Kubernetes
nwiizo
6
2.2k
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
335
57k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
20
2.4k
KATA
mclloyd
29
14k
Building an army of robots
kneath
302
45k
Become a Pro
speakerdeck
PRO
26
5.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
880
A Modern Web Designer's Workflow
chriscoyier
693
190k
Docker and Python
trallard
43
3.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
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