CHƯƠNG 12 · Capstone: Docker → Kubernetes•BÀI 48 / 80

Capstone production gap checklist

Phân biệt “chạy được” với “sẵn sàng phục vụ khách hàng”.

Ứng dụng◷ 4 phút đọc4/4 trong chương

Nắm bản chất

Buổi 12 cung cấp một hệ thống đủ lớn để thấy rõ gaps: chưa có auth, Redis/Postgres HA, durable outbox, offsite backups, full Prometheus discovery, strict NetworkPolicy enforcement, certificate rotation và release controls.

Một portfolio tốt cần liệt kê rõ những gì đã kiểm tra và những gì chưa kiểm tra. Dockerfile có USER 10001 không tự chứng minh image không có CVE; PVC tồn tại không tự chứng minh DR. Dùng checklist để biến gaps thành backlog có độ ưu tiên.

Luồng hoạt động

Demo→risk assessment→hardening

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

docker compose config --quiet
helm lint charts/capstone
helm template capstone charts/capstone --namespace capstone
kubectl -n capstone get deployments,pods,svc,pvc

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

✳

Viết báo cáo 1 trang: trust boundaries, data loss scenarios, top 5 production risks, hành động giảm thiểu và bằng chứng kiểm thử.

Lỗi dễ mắc

!

Không public unauthenticated job API; không đồng nhất Kind single-host với Kubernetes production HA.

Tự kiểm tra

Điểm thiếu an toàn dữ liệu lớn nhất của API ghi Postgres rồi Redis liên tiếp?Xem đáp án ↗

Không có transaction chung; API crash giữa hai bước có thể để job trong DB nhưng không có message trong queue.

TÀI NGUYÊN ĐI KÈM

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 12
NGUỒN CHÍNH THỨC

Đố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 ↗