0Pricing
Kubernetes Basics · บทเรียน

StorageClasses และการจัดสรรแบบพลวัต

เรียนรู้ว่า StorageClasses ช่วยให้ Kubernetes จัดสรร Persistent Volumes โดยอัตโนมัติตามต้องการได้อย่างไร โดยไม่ต้องให้ผู้ดูแลระบบดำเนินการด้วยตนเอง

StorageClasses และการจัดสรรแบบพลวัต เป็นบทเรียน Kubernetes Basics ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Kubernetes Basics และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Kubernetes Basics มีบทเรียนทั้งหมด 4 บทเรียน

ปัญหาการจัดเก็บข้อมูลด้วยตนเอง

ในการจัดสรรแบบคงที่ ผู้ดูแลระบบต้องสร้าง PersistentVolume แต่ละรายการด้วยตนเองก่อนที่ PersistentVolumeClaim จะผูกเข้าด้วยกันได้ วิธีนี้ไม่สามารถขยายรองรับงานจำนวนมากได้

การจัดสรรแบบอัตโนมัติจะสร้างโวลุ่มโดยอัตโนมัติเมื่อมีการสร้างคำขอ

StorageClass คืออะไร

StorageClass อธิบายประเภทพื้นที่จัดเก็บที่คลัสเตอร์สามารถให้บริการได้ เช่น ควรใช้ตัวจัดสรรใด ต้องใช้พารามิเตอร์อะไร และโวลุ่มจะมีพฤติกรรมอย่างไร

ลองนึกถึงสิ่งนี้ในฐานะแม่แบบสำหรับสร้าง PersistentVolumes ตามต้องการ

คำจำกัดความของ StorageClass

ฟิลด์ provisioner ระบุชื่อปลั๊กอินที่สร้างโวลุ่ม ซึ่งมักเป็นไดรเวอร์ดิสก์คลาวด์

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: fast-ssd
provisioner: kubernetes.io/aws-ebs
parameters:
  type: gp3
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer

การขอพื้นที่จัดเก็บแบบอัตโนมัติ

PVC เพียงอ้างอิง StorageClass ด้วยชื่อ จากนั้น Kubernetes จะจัดสรร PV ที่ตรงกันโดยอัตโนมัติ

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: data
spec:
  accessModes: ['ReadWriteOnce']
  storageClassName: fast-ssd
  resources:
    requests:
      storage: 10Gi

StorageClass เริ่มต้น

หาก PVC ไม่ระบุ storageClassName Kubernetes จะใช้ StorageClass เริ่มต้นของคลัสเตอร์ (ซึ่งทำเครื่องหมายด้วยคำอธิบายกำกับ) ทำให้คำขอพร้อมใช้งานได้ทันที

kubectl get storageclass
# NAME            PROVISIONER          DEFAULT
# standard (default)  ...

นโยบายการเรียกคืน

reclaimPolicy จะกำหนดว่าจะเกิดอะไรขึ้นเมื่อ PVC ถูกลบ:

  • ลบ: โวลุ่มเบื้องหลังก็จะถูกลบด้วย
  • เก็บรักษา: โวลุ่มจะถูกเก็บไว้เพื่อกู้คืนด้วยตนเอง

โหมดการผูกโวลุ่ม

WaitForFirstConsumer จะเลื่อนการสร้างโวลุ่มออกไปจนกว่าจะจัดกำหนดการพ็อดที่ใช้ PVC วิธีนี้ช่วยให้ดิสก์อยู่ในโซนเดียวกับพ็อด

Immediate จะจัดสรรให้ทันที ซึ่งอาจทำให้โซนไม่ตรงกัน

เฝ้าดูการจัดสรรที่เกิดขึ้น

หลังจากใช้การกำหนดค่า PVC แล้ว ให้เฝ้าดูการเปลี่ยนสถานะจาก Pending เป็น Bound ขณะที่โวลุ่มกำลังถูกสร้าง

kubectl apply -f pvc.yaml
kubectl get pvc data -w
# data   Pending
# data   Bound   pvc-8a3f...  10Gi

ระดับพื้นที่จัดเก็บหลายระดับ

คลัสเตอร์มักกำหนด StorageClasses หลายรายการสำหรับความต้องการที่แตกต่างกัน เพื่อให้ทีมเลือกความสมดุลที่เหมาะสมกับแต่ละภาระงานได้

# fast-ssd  -> low latency, higher cost
# standard  -> balanced default
# cold-hdd  -> cheap, archival

การขยายโวลุ่ม

หาก StorageClass มีค่า allowVolumeExpansion: true คุณสามารถขยาย PVC ได้โดยแก้ไขขนาดที่ร้องขอ จากนั้นตัวจัดสรรจะปรับขนาดดิสก์เบื้องหลัง

spec:
  resources:
    requests:
      storage: 20Gi  # increased from 10Gi

เมื่อใดควรใช้แบบคงที่หรือแบบอัตโนมัติ

  • แบบอัตโนมัติ: ตัวเลือกเริ่มต้น ให้บริการตนเองและรองรับการขยายได้ดี
  • แบบคงที่: ใช้เมื่อต้องผูกเข้ากับดิสก์ที่มีอยู่แล้วโดยเฉพาะ หรือพื้นที่ NFS ที่ส่งออกไว้

ตรวจสอบอย่างรวดเร็ว

ทดสอบความเข้าใจของคุณเกี่ยวกับการจัดสรรแบบอัตโนมัติ

สรุปทบทวน

คุณได้เรียนรู้ว่า StorageClass เป็นแม่แบบกำหนดวิธีสร้างพื้นที่จัดเก็บ ทำให้สามารถใช้การจัดสรรแบบอัตโนมัติได้ ฟิลด์สำคัญ ได้แก่ ตัวจัดสรร reclaimPolicy และ volumeBindingMode โดย PVC จะอ้างอิงคลาสด้วยชื่อ และคลาสเริ่มต้นจะจัดการคำขอที่ไม่ได้ระบุคลาส

คำถามที่พบบ่อย

บทเรียน “StorageClasses และการจัดสรรแบบพลวัต” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “StorageClasses และการจัดสรรแบบพลวัต” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Kubernetes Basics ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Kubernetes Basics มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “StorageClasses และการจัดสรรแบบพลวัต”

เรียนรู้ว่า StorageClasses ช่วยให้ Kubernetes จัดสรร Persistent Volumes โดยอัตโนมัติตามต้องการได้อย่างไร โดยไม่ต้องให้ผู้ดูแลระบบดำเนินการด้วยตนเอง คุณปฏิบัติ Kubernetes Basics ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Kubernetes Basics หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Kubernetes Basics บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “StorageClasses และการจัดสรรแบบพลวัต” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Kubernetes Basics นี้ได้ไหม

ได้ บทเรียน Kubernetes Basics ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ConfigMaps สำหรับการกำหนดค่า
  2. Secrets สำหรับข้อมูลละเอียดอ่อน
  3. โวลุมถาวรและคำขอใช้โวลุม
  4. StorageClasses และการจัดสรรแบบพลวัต
← กลับไปที่ Kubernetes Basics