Lộ trình
Cloud Native Computing FoundationAssociateTuần 3: Kiến trúc & bảo mậtBài 19 / 30

Ngày 19: PersistentVolume & Claim

Thời lượng: 45 phút
Mục tiêu: 2 nhiệm vụ chính
Tiến độ lộ trình
ckangày 19
hoàn thành19 / 30 bài
Bối cảnh bài học

Thực hành static PersistentVolume/PersistentVolumeClaim với access modes, binding, reclaim policy, mount verification và data-safe cleanup.

đọc hiểuthực hànhcheckpoint
Bài giảng hôm nay

Học hiểu, rồi mới thực hành

Thực hành static PersistentVolume/PersistentVolumeClaim với access modes, binding, reclaim policy, mount verification và data-safe cleanup.

Bắt đầu đọc bài giảng

Nhiệm vụ bài học hôm nay

  • Thực hành tạo PV thủ công và PVC tương ứng
  • Học các access mode: ReadWriteOnce, ReadOnlyMany
Instructor walkthrough

Bài giảng chi tiết: từ bài toán đến bằng chứng

Scenario xuyên suốt

Một PVC Pending vì selector/capacity không match PV; một workload xóa PVC rồi mất data do reclaim policy không được đọc. Bài học tách PV cluster resource khỏi PVC namespaced request và kiểm chứng data path.

01Đọc bài toán

Xác định actor, workload, constraint và trạng thái cuối cần đạt.

02Vẽ luồng / boundary

Chỉ ra request, dependency, identity và failure domain trước khi chọn công cụ.

03Chọn và thực hành

Thay đổi nhỏ nhất trong lab cô lập; command nào cũng phải nói rõ nó kiểm tra điều gì.

04Kiểm chứng / recovery

Đối chiếu trạng thái thực tế, tạo một failure variant và ghi cách hoàn tác.

Cách nối lý thuyết với thực tế
  • PV đại diện storage resource cluster-scoped; PVC là request namespaced với capacity/access mode/storageClass/selector.
  • Static binding yêu cầu PV phù hợp capacity, access mode, class/selector và topology; Bound chưa đảm bảo mount/app write.
  • RWO/ROX/RWX mô tả attachment/access semantics phụ thuộc backend; không tự giải quyết application consistency.
  • Reclaim policy Retain/Delete/Recycle semantics ảnh hưởng data sau PVC release; Retain cần manual recovery/cleanup.

PV và PVC là hai object

PV là storage resource cluster-scoped; PVC là request namespaced. Static binding cần match capacity/access mode/class/selector/topology. Phase Pending/Bound/Released là evidence nhưng chưa đủ: phải mount, ghi/đọc marker và kiểm tra permissions.

Reclaim và data safety

Retain giữ data để recovery; Delete dọn backend theo provisioner; policy phải đọc trước khi xóa PVC. Không coi xóa claim là cleanup vô hại và không format device/path chưa xác nhận.

Bài tập

Tạo PV/PVC static lab, mount vào Pod, ghi marker, cố ý mismatch rồi debug events. Xóa theo policy, ghi phase/recovery/cleanup evidence và chứng minh không còn orphan.

Terminal reference

Command list và cách dùng

Chạy từng lệnh theo đúng thứ tự. Trước các lệnh có thể tạo hoặc thay đổi tài nguyên, hãy kiểm tra profile, account và region.

Commands · read-only checkpoints
kubectl get pv,pvc -A -o wide
kubectl describe pv PV_NAME
kubectl describe pvc PVC_NAME -n cka-day19
kubectl get pod POD_NAME -n cka-day19 -o jsonpath="{.spec.volumes}{"\n"}"
kubectl get events -n cka-day19 --sort-by=.lastTimestamp
Hands-on lab

Thực hành theo scenario

  1. Tạo local lab PV với capacity nhỏ, access mode và reclaim Retain; tạo PVC selector/class phù hợp rồi quan sát Pending→Bound.
  2. Mount PVC vào Pod, ghi/read marker, kiểm tra volumeMount/path/permissions; cố ý mismatch capacity/access/class để đọc events.
  3. Xóa Pod/PVC trong lab, quan sát Released/Retain và viết recovery/cleanup procedure; không format hoặc xóa data production.
  4. Cleanup PV/PVC/data directory chỉ sau khi owner xác nhận; verify no orphan claim/volume and context namespace.
Evidence checkpoint

Kiểm chứng kết quả

Không coi lệnh chạy thành công là đủ. Hãy đối chiếu output với trạng thái mong đợi:

  • PV/PVC scope và binding criteria đúng.
  • Access mode/reclaim semantics có evidence.
  • Mount/write/read và permissions được kiểm tra.
  • PVC Pending/Released có diagnosis.
  • Cleanup không mất data ngoài policy.
Transfer to exam / production

Bẫy thường gặp và trade-off

CKA static storage task thường cần YAML đúng ở accessModes, capacity, storageClassName và selector. Kiểm tra PV/PVC phase, events và mount sau binding.

Checkpoint · 3 phút

Kiểm tra nhanh

Câu hỏi: PVC Pending dù PV tồn tại. Kiểm tra nào nên làm đầu tiên?

Kết thúc bài

Checklist trước khi sang Ngày 2