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
74
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
3
850
安全な Kubernetes 環境を目指して
kyohmizu
4
710
Unlocking Cloud Native Security
kyohmizu
5
920
コンテナ × セキュリティ × AWS
kyohmizu
10
3.3k
コンテナセキュリティ
kyohmizu
10
3.9k
コンテナイメージのマルウェア検出とその実用性について
kyohmizu
4
2.3k
Play with 🐐 in Kubernetes
kyohmizu
1
1.1k
Security Command Center × PagerDuty 自動アラート通知の取り組み
kyohmizu
0
480
サイバー攻撃から Kubernetes クラスタを守るための効果的なセキュリティ対策
kyohmizu
13
3.2k
Other Decks in Technology
See All in Technology
TanStack Routerで型安全かつ効率的なルーティングを実現
ytaisei
4
760
CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
kota2and3kan
13
4.9k
1Q86
kawaguti
PRO
2
180
生成AIと産業向けソフトウェアの自動生成 〜 ハノーバーメッセ2024より〜
kioto
2
420
TDD - Test Driven Drupal
opdavies
0
3k
「知的単純作業」を自動化する、地に足の着いた大規模言語モデル (LLM) の活用
nrryuya
8
8.1k
DevRelによる信頼構築とデータ駆動で変わるエンジニア採用 / DevRel Trust Building to Data Driven Engineering Hiring
bobtani
1
120
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
1.7k
データ基盤を支える技術
chanyou0311
5
2.9k
20240509 CloudWatch でいろいろなものを監視してみよう
masaruogura
1
110
RailsConf 2024 Keynote "Startups on Rails in 2024"
irinanazarova
0
730
本当のガバクラ基礎
toru_kubota
0
310
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
Build The Right Thing And Hit Your Dates
maggiecrowley
25
2k
Typedesign – Prime Four
hannesfritz
36
2.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
117
18k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
Designing on Purpose - Digital PM Summit 2013
jponch
111
6.5k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
9
1.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
22
6.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1.1k
Why Our Code Smells
bkeepers
PRO
331
56k
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