๐ Persistent Volume Claim (PVC)
1. PV์ PVC์ ๊ด๊ณ
- Persistent Volume (PV): ๊ด๋ฆฌ์๊ฐ ์์ฑํ๋ ํด๋ฌ์คํฐ ์ ์ญ ์คํ ๋ฆฌ์ง ํ
- Persistent Volume Claim (PVC): ์ฌ์ฉ์๊ฐ ์คํ ๋ฆฌ์ง๋ฅผ ์์ฒญํ๋ ๊ฐ์ฒด
- ๋ฐ์ธ๋ฉ ๊ณผ์ :
- PVC๊ฐ ์์ฑ๋๋ฉด, Kubernetes๊ฐ ์กฐ๊ฑด(์ฉ๋, ์ ๊ทผ ๋ชจ๋, ์คํ ๋ฆฌ์ง ํด๋์ค ๋ฑ)์ ๋ง๋ PV๋ฅผ ์๋ ๋งค์นญ
- ๋งค์นญ๋ ๊ฒฝ์ฐ โ PVC โ PV 1:1 ๋ฐ์ธ๋ฉ
- ๋งค์นญ ์คํจ ์ โ PVC๋ Pending ์ํ๋ก ๋๊ธฐํ๋ค๊ฐ ์ PV๊ฐ ์๊ธฐ๋ฉด ์๋ ๋ฐ์ธ๋ฉ๋จ
โ ๏ธ ์ฃผ์:
- ์์ PVC๊ฐ ํฐ PV์ ๋ฐ์ธ๋ฉ๋ ์ ์์ โ ๋๋จธ์ง ๊ณต๊ฐ์ ๋ค๋ฅธ PVC๊ฐ ์ฌ์ฉ ๋ถ๊ฐ (๋
์ ๋จ)
2. PVC ์ ์ ์์
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-claim
spec:
accessModes:
- ReadWriteOnce # ํ ๋
ธ๋์์ Read/Write ๊ฐ๋ฅ
resources:
requests:
storage: 500Mi # 500MB ์์ฒญ
3. PVC ๋์ ๊ณผ์
kubectl create -f pvc.yaml โ PVC ์์ฑ
kubectl get pvc โ ์ํ ํ์ธ (์ฒ์์๋ Pending)
- Kubernetes๊ฐ ๊ธฐ์กด PV ํ์:
- PV ์ฉ๋ โฅ PVC ์์ฒญ (์: PVC 500Mi vs PV 1Gi)
- AccessModes ๋ฑ ์กฐ๊ฑด ์ผ์น
- ์กฐ๊ฑด ์ถฉ์กฑ ์ ์๋ ๋ฐ์ธ๋ฉ โ
Bound ์ํ๋ก ๋ณ๊ฒฝ
kubectl get pv ํ์ธ ์ ํด๋น PV๊ฐ PVC์ ๋ฐ์ธ๋ฉ๋จ
4. PVC ์ญ์ ์ PV ์ฒ๋ฆฌ ์ ์ฑ
(Reclaim Policy)