Search

[CKA] 55. Volumes in Kubernetes

Date
2026/01/29
Category
Devops
Tag
Kubernetes
CKA
Storage
๋ชฉ์ฐจ

ย Volumes

ย Docker ๋ณผ๋ฅจ

โ€ข
๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋Š” ์ผ์‹œ์ (transient)์ด๋‹ค.
โ€ข
์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ฒ˜๋ฆฌํ•œ ๋ฐ์ดํ„ฐ๋„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ์™€ ํ•จ๊ป˜ ์‚ญ์ œ๋œ๋‹ค.
โ€ข
๊ทธ๋ž˜์„œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ๋ณผ๋ฅจ์„ ๋ถ™์—ฌ์„œ(volume attach), ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋งŒ๋“ /์ฒ˜๋ฆฌํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณผ๋ฅจ์— ์ €์žฅํ•œ๋‹ค.
โ€ข
์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‚ญ์ œ๋˜์–ด๋„ ๋ณผ๋ฅจ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋Š” ๋‚จ๋Š”๋‹ค.

ย Kubernetes ๋ณผ๋ฅจ

โ€ข
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ์ƒ์„ฑ๋˜๋Š” Pod ์—ญ์‹œ ๋ณธ์งˆ์ ์œผ๋กœ ์ผ์‹œ์ ์ด๋‹ค.
โ€ข
Pod๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  Pod๋ฅผ ์‚ญ์ œํ•˜๋ฉด, Pod ๋‚ด๋ถ€์— ์žˆ๋˜ ๋ฐ์ดํ„ฐ๋„ ํ•จ๊ป˜ ์‚ฌ๋ผ์ง„๋‹ค.
โ€ข
ํ•ด๊ฒฐ ๋ฐฉ์‹๋„ ๋™์ผํ•˜๋‹ค: Pod์— ๋ณผ๋ฅจ์„ ๋ถ™์ธ๋‹ค.
โ€ข
์ด์ œ Pod๊ฐ€ ๋งŒ๋“  ๋ฐ์ดํ„ฐ๋Š” ๋ณผ๋ฅจ์— ์ €์žฅ๋˜๋ฏ€๋กœ Pod๊ฐ€ ์‚ญ์ œ๋˜์–ด๋„ ๋ฐ์ดํ„ฐ๋Š” ์œ ์ง€๋œ๋‹ค.

ย Volume ๊ตฌํ˜„ (Single Node)

์‹œ๋‚˜๋ฆฌ์˜ค:
โ€ข
๋‹จ์ผ ๋…ธ๋“œ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ
โ€ข
Pod๊ฐ€ 1~100 ๋‚œ์ˆ˜ ์ƒ์„ฑ
โ€ข
๊ฒฐ๊ณผ๋ฅผ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€ ๊ฒฝ๋กœ์— ํŒŒ์ผ(/opt/number.out)๋กœ ๊ธฐ๋ก
โ€ข
Pod ์ข…๋ฃŒ/์‚ญ์ œ
Pod๊ฐ€ ์‚ฌ๋ผ์ ธ๋„ ํŒŒ์ผ์„ ๋‚จ๊ธฐ๋ ค๋ฉด ๋ณผ๋ฅจ์„ ๋งŒ๋“ค๊ณ  ๋ณผ๋ฅจ์ด ์‚ฌ์šฉํ•  ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.
โ†’ ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ๋ฐฉ์‹์€ ํ˜ธ์ŠคํŠธ์˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์Šคํ† ๋ฆฌ์ง€๋กœ ์“ฐ๋Š” ๋ฐฉ์‹์ด๋‹ค.
โ€ข
ํ˜ธ์ŠคํŠธ์˜ /data ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ณผ๋ฅจ ์Šคํ† ๋ฆฌ์ง€๋กœ ์ง€์ •
โ€ข
์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์˜ /opt์— ๋งˆ์šดํŠธ
โ€ข
์ปจํ…Œ์ด๋„ˆ๊ฐ€ /opt/number.out์— ์“ฐ๋ฉด โ†’ ์‹ค์ œ๋ก  ํ˜ธ์ŠคํŠธ /data์— ์ €์žฅ๋˜๋Š” ํ˜•ํƒœ
apiVersion: v1 kind: Pod metadata: name: random-number-generator spec: containers: - image: alpine name: alpine command: ["/bin/sh","-c"] args: ["shuf -i 0-100 -n 1 >> /opt/number.out;"] volumeMounts: - mountPath: /opt name: data-volume volumes: - name: data-volume hostPath: path: /data type: Directory
YAML
๋ณต์‚ฌ

ย Volume ๊ตฌํ˜„ (Multi Node)

hostPath๊ฐ€ ๋‹จ์ผ ๋…ธ๋“œ์—์„œ๋Š” ์ž˜ ๋™์ž‘ํ•˜์ง€๋งŒ, ๋ฉ€ํ‹ฐ ๋…ธ๋“œ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ๋Š” ๊ถŒ์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:
โ€ข
Pod๊ฐ€ ์–ด๋–ค ๋…ธ๋“œ์— ๋œฐ์ง€ ๋ณด์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค
โ€ข
๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ /data๋ผ๋Š” ๊ฒฝ๋กœ๋ฅผ ๊ฐ–๊ณ  ์žˆ์–ด๋„, ์„œ๋กœ ๋‹ค๋ฅธ ์„œ๋ฒ„์˜ ๋กœ์ปฌ ๋””๋ ‰ํ† ๋ฆฌ์ด๋ฏ€๋กœ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹ˆ๋‹ค
โ€ข
์ฆ‰, Pod๊ฐ€ ๋…ธ๋“œ๋ฅผ ์˜ฎ๊ฒจ๊ฐ€๋ฉด ๋ฐ์ดํ„ฐ ์—ฐ์†์„ฑ์ด ๊นจ์งˆ ์ˆ˜ ์žˆ๋‹ค.
โ€ข
๋ฉ€ํ‹ฐ ๋…ธ๋“œ์—์„œ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„  ์™ธ๋ถ€ ๊ณต์œ /๋ณต์ œ ์Šคํ† ๋ฆฌ์ง€๊ฐ€ ํ•„์š”ํ•˜๋‹ค
Kubernetes๋Š” hostPath ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ์Šคํ† ๋ฆฌ์ง€ ์†”๋ฃจ์…˜์„ ์ง€์›ํ•œ๋‹ค:
โ€ข
์˜จํ”„๋ ˆ๋ฏธ์Šค/ํด๋Ÿฌ์Šคํ„ฐ ์Šคํ† ๋ฆฌ์ง€: NFS, Flocker, Fibre Channel, CephFS, ScaleIO ๋“ฑ
โ€ข
ํผ๋ธ”๋ฆญ ํด๋ผ์šฐ๋“œ: AWS EBS, Azure Disk/File, GCP Persistent Disk ๋“ฑ
๋ณผ๋ฅจ์˜ ์Šคํ† ๋ฆฌ์ง€ ์˜ต์…˜์œผ๋กœ ์Šคํ† ๋ฆฌ์ง€ ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด hostPath๋ฅผ ํ•ด๋‹น ์†”๋ฃจ์…˜์— ๋Œ€ํ•œ ํ•„๋“œ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ๋œ๋‹ค.
volumes: - name: data-volume awsElasticBlockStore: volumeID: <volume-id> fsType: ext4
YAML
๋ณต์‚ฌ

ย Persistent Volumes

ย ๊ธฐ์กด ๋ฐฉ์‹

Volume์„ Pod ์ •์˜ ํŒŒ์ผ ๋‚ด๋ถ€์— ์ง์ ‘ ๊ตฌ์„ฑํ•˜๋Š” ์œ„์™€ ๊ฐ™์€ ๋ฐฉ์‹์€, ๋ณผ๋ฅจ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์Šคํ† ๋ฆฌ์ง€ ์„ค์ •(hostPath, EBS ๋“ฑ)์ด ๋งค๋ฒˆ Pod YAML ์•ˆ์— ๋“ค์–ด๊ฐ€๋Š” ๊ตฌ์กฐ์ด๋‹ค. ์ด ๋ฐฉ์‹์€ ํ™˜๊ฒฝ์ด ์ปค์ง€๋ฉด ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค.

ย ๋ฌธ์ œ์ 

Pod์— ๋ณผ๋ฅจ์„ ์ง์ ‘ ๋„ฃ๋Š” ๋ฐฉ์‹์˜ ๋ฌธ์ œ๋Š” ์‚ฌ์šฉ์ž ์ˆ˜๊ฐ€ ๋งŽ๊ณ , Pod๋„ ๋งŽ์•„์ง€๋Š” ํ™˜๊ฒฝ์—์„œ ๋ฐœ์ƒํ•œ๋‹ค.
์‚ฌ์šฉ์ž ์ˆ˜๊ฐ€ ๋งŽ๊ณ , Pod๋„ ๋งŽ์•„์ง€๋Š” ํ™˜๊ฒฝ์—์„œ๋Š”:
โ€ข
Pod๋ฅผ ๋ฐฐํฌํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋งค๋ฒˆ ์Šคํ† ๋ฆฌ์ง€ ์„ค์ •์„ ์ง์ ‘ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค
โ€ข
์Šคํ† ๋ฆฌ์ง€ ํƒ€์ž…์ด ๋ฐ”๋€Œ๊ฑฐ๋‚˜ ์„ค์ •์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๋ชจ๋“  Pod ์ •์˜ ํŒŒ์ผ์„ ์ผ๊ด„ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค
โ†’ ๊ฒฐ๊ณผ์ ์œผ๋กœ ์Šคํ† ๋ฆฌ์ง€๊ฐ€ ๋ถ„์‚ฐ ๊ด€๋ฆฌ๋˜๊ณ , ์šด์˜/๋ณ€๊ฒฝ ๋น„์šฉ์ด ์ปค์ง„๋‹ค

ย ๊ธฐ์กด ๋ฐฉ์‹์˜ ํ•ด๊ฒฐ

์Šคํ† ๋ฆฌ์ง€๊ฐ€ ๋ถ„์‚ฐ ๊ด€๋ฆฌ๋˜๊ณ , ์šด์˜/๋ณ€๊ฒฝ ๋น„์šฉ์ด ์ปค์ง€๋Š” ๊ธฐ์กด ๋ฐฉ์‹์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„ :
โ€ข
๊ด€๋ฆฌ์ง€๊ฐ€ ํฐ ์Šคํ† ๋ฆฌ์ง€ ํ’€(pool)์„ ๋งŒ๋“ค์–ด ๋‘๊ณ 
โ€ข
์‚ฌ์šฉ์ž๊ฐ€ ํ•„์š”ํ•  ๋•Œ ๊ทธ ํ’€์—์„œ ํ•„์š”ํ•œ ๋งŒํผ์„ โ€œ๋–ผ์–ดโ€ ์จ์„œ Pod์— ๋ถ™์ธ๋‹ค
์ด ๊ฐœ๋…์ด Persistent Volume(PV)์ด๋‹ค

Persistent Volume

PV = ๊ด€๋ฆฌ์ž๊ฐ€ ๋ฏธ๋ฆฌ ํด๋Ÿฌ์Šคํ„ฐ์— ์ค€๋น„ํ•ด ๋‘” โ€œํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒดโ€ ์Šคํ† ๋ฆฌ์ง€ ๋ฆฌ์†Œ์Šค
โ€ข
PV๋Š” ํด๋Ÿฌ์Šคํ„ฐ ๋ฒ”์œ„(cluster-wide) ๋ฆฌ์†Œ์Šค์ด๋‹ค
โ€ข
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ์ž๋Š” PV๋ฅผ ์ง์ ‘ ๋งŒ์ง€๋Š” ๋Œ€์‹ , PVC(Persistent Volume Claim)๋กœ โ€œํ•„์š”ํ•œ ์Šคํ† ๋ฆฌ์ง€โ€๋ฅผ ์š”์ฒญ/์„ ํƒํ•œ๋‹ค
โ†’ PV๋Š” ๊ณต๊ธ‰(๊ด€๋ฆฌ์ž), PVC๋Š” ์†Œ๋น„(์‚ฌ์šฉ์ž)์˜ ๊ฐœ๋…์ด๋‹ค
apiVersion: v1 kind: PersistentVolume metadata: name: pv-vol1 spec: accessModes: - ReadWriteOnce capacity: starage: 1Gi awsElasticBlockStore: # volume type์œผ๋กœ hostPath๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ๊ถŒ์žฅ๋˜์ง€ ์•Š์Œ volumeID: <volume-id> fsType: ext4
YAML
๋ณต์‚ฌ
โ€ข
accessModes:
โ—ฆ
ReadOnlyMany: ์—ฌ๋Ÿฌ ๋…ธ๋“œ์—์„œ ์ฝ๊ธฐ ์ „์šฉ
โ—ฆ
ReadWriteOnce: ํ•œ ๋…ธ๋“œ์—์„œ ์ฝ๊ธฐ/์“ฐ๊ธฐ
โ—ฆ
ReadWriteMany: ์—ฌ๋Ÿฌ ๋…ธ๋“œ์—์„œ ์ฝ๊ธฐ/์“ฐ๊ธฐ
โ€ข
capacity: PV์— โ€œ์˜ˆ์•ฝํ•ด ๋‘˜โ€ ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰

ย Persistent Volume Claim

PV์™€ PVC๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์˜ค๋ธŒ์ ํŠธ๋กœ, PVC๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํ•„์š”ํ•œ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์š”์ฒญํ•˜๋Š” ๊ฐ์ฒด์ด๋‹ค.

ย Bind

PVC๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด Kubernetes๋Š” PVC์˜ ์š”์ฒญ ์กฐ๊ฑด(request/properties)์„ ๊ธฐ์ค€์œผ๋กœ ์ ์ ˆํ•œ PV๋ฅผ ์ฐพ์•„ ๋ฐ”์ธ๋”ฉํ•œ๋‹ค.

ย ๊ทœ์น™

๋ชจ๋“  PVC๋Š” ๋‹จ ํ•˜๋‚˜์˜ PV์—๋งŒ ๋ฐ”์ธ๋”ฉ์ด ๋˜๋Š” 1๋Œ€1 ๊ตฌ์กฐ์ด๊ธฐ ๋•Œ๋ฌธ์—, ๋ฐ”์ธ๋”ฉ ์‹œ ๊ณ ๋ ค๋˜๋Š” ์กฐ๊ฑด๋“ค์— ๋งค์นญ๋˜์•ผ ํ•œ๋‹ค:
โ€ข
capacity: ์š”์ฒญํ•œ ์šฉ๋Ÿ‰ ์ด์ƒ์ธ์ง€
โ€ข
accessModes
โ€ข
volumeMode
โ€ข
storageClass ๋“ฑ
PV์™€ PVC๋Š” ์œ„ ์กฐ๊ฑด๋“ค์„ ์ผ์น˜์‹œ์ผœ์•ผ ํ•˜์ง€๋งŒ capacity ๊ฐ™์€ ๊ฒฝ์šฐ, PVC์˜ ๊ฐ’์ด PV๋ณด๋‹ค ์ž‘์„ ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ์ž‘์€ PVC๊ฐ€ ๋” ํฐ PV์— ๋ถ™์„ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ PV์— ์—ฌ์œ  ๊ณต๊ฐ„์ด ์ƒ๊ธฐ๋”๋ผ๋„, 1๋Œ€1 ๊ด€๊ณ„์ด๋ฏ€๋กœ ๋‹ค๋ฅธ PVC๊ฐ€ ๋‚จ๋Š” ์šฉ๋Ÿ‰์„ ๋‚˜๋ˆ  ์“ฐ์ง€ ๋ชปํ•œ๋‹ค.
์กฐ๊ฑด์— ๋งค์นญ๋˜๋Š” PV๊ฐ€ ์—†์„ ๊ฒฝ์šฐ, PVC๋Š” Pending ์ƒํƒœ๋กœ ๋‚จ๋Š”๋‹ค. ์ƒˆ๋กœ์šด PV๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ์— ์ œ๊ณต๋˜๋ฉด Pending PVC๋Š” ์ž๋™์œผ๋กœ ๊ทธ PV์— ๋ฐ”์ธ๋”ฉ ๋œ๋‹ค.

ย Label + Selector

์—ฌ๋Ÿฌ ํ›„๋ณด๊ฐ€ ๋งค์นญ๋  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์—์„œ ํŠน์ • PV๋ฅผ ์„ ํƒํ•˜๊ณ  ์‹ถ์œผ๋ฉด labels + selectors๋ฅผ ์‚ฌ์šฉํ•ด ์›ํ•˜๋Š” PV๋กœ ๋ฐ”์ธ๋”ฉํ•  ์ˆ˜ ์žˆ๋‹ค.

ย PVC

ย PVC ์ƒ์„ฑ ์˜ˆ์‹œ

apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-claim spec: accessModes: - ReadWriteOnce resources: requests: storage: 500Mi
YAML
๋ณต์‚ฌ
apiVersion: v1 kind: PersistentVolume metadata: name: pv-vol1 spec: accessModes: - ReadWriteOnce capacity: starage: 1Gi awsElasticBlockStore: volumeID: <volume-id> fsType: ext4
YAML
๋ณต์‚ฌ
PV๊ฐ€ 1Gi์ด๊ณ , PVC๋Š” 500Mi์ธ ์˜ˆ์‹œ์ด๋‹ค.
โ€ข
accessModes๊ฐ€ ์ผ์น˜ํ•˜๊ณ 
โ€ข
PV ์šฉ๋Ÿ‰(1Gi)์ด PVC ์š”์ฒญ(500Mi)๋ณด๋‹ค ํฌ๋ฉฐ
โ€ข
๋‹ค๋ฅธ ํ›„๋ณด PV๊ฐ€ ์—†๋‹ค๋ฉด
โ†’ PVC๋Š” ํ•ด๋‹น PV์— ๋ฐ”์ธ๋”ฉ ๋œ๋‹ค.

ย Reclaim Policy

PVC๋ฅผ ์‚ญ์ œํ•˜๋ฉด PV๋Š” ์–ด๋–ป๊ฒŒ ๋˜๋Š”๊ฐ€์— ๋Œ€ํ•ด์„œ๋Š” reclaim policy์— ์˜ํ•ด ๊ฒฐ์ •๋œ๋‹ค
1.
Retain (๊ธฐ๋ณธ)
โ€ข
PVC๊ฐ€ ์‚ญ์ œ๋ผ๋„ PV๊ฐ€ ๋‚จ๋Š”๋‹ค
โ€ข
๊ด€๋ฆฌ์ž๊ฐ€ ์ˆ˜๋™์œผ๋กœ ์ •๋ฆฌ/์‚ญ์ œํ•˜๊ธฐ ์ „๊นŒ์ง€ ์œ ์ง€๋œ๋‹ค
โ€ข
๋‹ค๋ฅธ PVC์—์„œ ์žฌ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค (์ •๋ฆฌ ์ž‘์—… ํ•„์š”)
2.
Delete
โ€ข
PVC๊ฐ€ ์‚ญ์ œ๋˜๋ฉด PV๋„ ํ•จ๊ป˜ ์‚ญ์ œ๋œ๋‹ค
โ€ข
ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€ ๊ฐ™์€ ๊ฒฝ์šฐ ์‹ค์ œ ๋ฆฌ์†Œ์Šค ์‚ญ์ œ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค
3.
Recycle (Deprecated)
โ€ข
PV ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์šด ๋’ค ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์˜ต์…˜
โ€ข
๊ณผ๊ฑฐ์—๋Š” โ€œRecycler Podโ€๊ฐ€ ๋ณผ๋ฅจ์„ ๋งˆ์šดํŠธํ•˜๊ณ  rm -rf ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ํŒŒ์ผ์„ ์ง€์šฐ๋Š” โ€œbest effort wipeโ€์˜€๋‹ค
โ€ข
ํ•˜์ง€๋งŒ ์‹ค๋ฌด์ ์œผ๋กœ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์•„ deprecated ๋˜์—ˆ๋‹ค.
โ—ฆ
์•ˆ์ „ํ•œ ์‚ญ์ œ(secure erase) ๋ณด์žฅ ๋ถˆ๊ฐ€
โ—ฆ
์Šค๋ƒ…์ƒท ์ฒ˜๋ฆฌ ๋ถˆ๊ฐ€
โ—ฆ
provider metadata ์ฒ˜๋ฆฌ ๋ถˆ๊ฐ€
โ—ฆ
์ง€์› ํ”Œ๋ฆฌ๊ฑฐ์ธ/๋ฐฑ์—”๋“œ๊ฐ€ ์ œํ•œ์ 
โ—ฆ
์‹ค์ œ ์ •๋ฆฌ์—์„œ๋Š” unmount, detach, ์žฌํฌ๋งท, ์Šค๋ƒ…์ƒท, ์ •์ฑ… ์ฒ˜๋ฆฌ, ์•”ํ˜ธํ™”/ํ‚ค ๋กœํ…Œ์ด์…˜, provider-level delete call ๋“ฑ ๋‹ค์–‘ํ•œ ์ž‘์—…์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Œ
โ—ฆ
rm -rf๋Š” inode metadata๋ฅผ ๋‚จ๊ธธ ์ˆ˜ ์žˆ๊ณ , ๊ถŒํ•œ ๋ฌธ์ œ๋กœ ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Œ
โ†’ ์ด๋Ÿฌํ•œ ์ด์‹์„ฑ/๋ณด์•ˆ ๊ฒฉ์ฐจ ๋•Œ๋ฌธ์— Kubernetes๋Š” ๋” ์ตœ์‹  ๋ชจ๋ธ๋กœ ์ „ํ™˜ํ–ˆ๋‹ค

ย Using PVC in Pod

์ƒ์„ฑ๋œ PVC์— ๋Œ€ํ•ด Pod๋Š” volume ์„น์…˜์— pvc ๋ช…์„ ์ •์˜ ํŒŒ์ผ์— ๋„ฃ์œผ๋ฉด ๋œ๋‹ค. ์ด๋Š” ReplicaSets๋‚˜ Deployments์—์„œ๋„ Pod ์„น์…˜์—์„œ ๋™์ผํ•˜๊ฒŒ ์ ์šฉ๋œ๋‹ค.
apiVersion: v1 kind: Pod metadata: name: mypod spec: containers: - name: myfrontend image: nginx volumeMounts: - mountPath: "/var/www/html" name: mypd volumes: - name: mypd persistentVolumeClaim: claimName: myclaim
YAML
๋ณต์‚ฌ
์ด์ „ ๊ฒŒ์‹œ๋ฌผ
๋‹ค์Œ ๊ฒŒ์‹œ๋ฌผ