คอนเทนเนอร์· ~15 นาที
PersistentVolume, PVC และ StorageClass
ขอที่เก็บถาวรแบบไม่ต้องรู้ว่าดิสก์จริงอยู่ที่ไหน
เทียบกับการเช่าโกดัง: PVC (PersistentVolumeClaim) = "ใบขอ" ที่บอกว่าอยากได้พื้นที่ 10GB แบบเขียน-อ่านได้ · PV (PersistentVolume) = โกดังจริงที่ถูกจัดให้ · StorageClass = ผู้ให้เช่าที่สร้างโกดังใหม่ให้อัตโนมัติเมื่อมีใบขอ
นักพัฒนาขอผ่าน PVC · StorageClass สร้างดิสก์จริงให้
Podmount /data
อ้าง
PVCขอ 10Gi RWO
ตาม class
StorageClassgp3
สร้าง
PV (EBS)ดิสก์จริง
นักพัฒนาไม่ต้องรู้ว่าเบื้องหลังเป็น EBS/NFS — แค่เขียน PVC
แนวคิดคือแยก"คนใช้" ออกจาก "คนจัดหา" — นักพัฒนาแค่เขียน PVC บอกความต้องการ ไม่ต้องรู้ว่าเบื้องหลังเป็น AWS EBS, NFS หรืออะไร · StorageClass ทำ dynamic provisioning สร้าง PV ให้เองเมื่อมี PVC เข้ามา
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data
spec:
accessModes: ["ReadWriteOnce"] # เขียนได้จาก node เดียว
resources:
requests:
storage: 10Gi
storageClassName: gp3 # ชื่อ StorageClass (เช่น AWS gp3)สรุป Key Takeaways
- PVC = ใบขอที่เก็บ (นักพัฒนาเขียน) · PV = ดิสก์จริง · StorageClass = สร้าง PV ให้อัตโนมัติ
- แยกคนใช้ออกจากคนจัดหา — ไม่ต้องรู้ว่าเบื้องหลังเป็น EBS/NFS
- RWO = node เดียวเขียน (block) · RWX = หลาย node เขียน (file/NFS/EFS)
- reclaimPolicy Retain ปกป้องข้อมูลสำคัญตอนลบ PVC
อ่านจบแล้วอย่าลืมทำเครื่องหมาย

