Deployment, StatefulSet, PVC và dữ liệu
Chọn controller theo identity và persistence requirements.
Nắm bản chất
Deployment phù hợp stateless replicas. StatefulSet cung cấp Pod identities ổn định và volume claim templates cho stateful workloads. PVC yêu cầu storage; PV đại diện tài nguyên lưu trữ; StorageClass có thể hỗ trợ dynamic provisioning.
Một PostgreSQL StatefulSet một replica với PVC chỉ tăng khả năng dữ liệu tồn tại khi Pod bị thay thế; nó không tự cung cấp replication, backup hoặc high availability. Với production database, phải thiết kế HA/DR và backup phù hợp.
Luồng hoạt động
Hãy tự giải thích mỗi mũi tên: dữ liệu, quyền hoặc tín hiệu nào được truyền qua bước này?
Lệnh & cấu hình mẫu
kubectl get storageclass
kubectl -n app get statefulsets,pvcs,pods
kubectl -n app describe pvc postgres-data-postgres-0
kubectl -n app logs statefulset/postgres
Lệnh có placeholder hoặc phụ thuộc môi trường thì cần thay thông tin thực tế, kiểm tra quyền và chỉ thực hiện trên tài nguyên được phép.
Bài tập 10–20 phút
Thực hành lab PostgreSQL đơn replica. Xóa Pod, xác minh StatefulSet tạo lại Pod và dữ liệu tồn tại; sau đó mô tả điều gì xảy ra nếu node/storage backend mất.
Lỗi dễ mắc
Không force-delete PVC/PV trong incident trước khi xác định reclaim policy, volume attachment và backup status.
Tự kiểm tra
PVC có bảo đảm dữ liệu sống sót khi cả storage backend hỏng?Xem đáp án ↗
Không. Độ bền vững phụ thuộc backend và backup/replication thiết kế ngoài PVC.
Học thêm qua lab
Có project thực hành đúng với chương này, kèm README và những giới hạn môi trường cần lưu ý.
↓ Tải mã nguồn thực hành chương 09Đối chiếu tài liệu gốc
Cú pháp và khả năng hỗ trợ có thể thay đổi theo phiên bản. Trước khi dùng Production, hãy kiểm tra tài liệu tương ứng.
Mở tài liệu chính thức ↗