Bạn đã biết Docker, đã viết Dockerfile, đã thấy team deploy lên “K8s”. Nhưng khi pod CrashLoopBackOff bí ẩn, khi Service không resolve, khi HPA scale nhưng app vẫn chậm, bạn cần nhiều hơn kubectl get pods.
Loạt bài này đi từ kiến trúc tối thiểu đến vận hành thực tế, theo trục “hiểu để debug được, deploy được, không phải chỉ để biết tên”.
Đối tượng
| Bạn là | Bạn sẽ học được |
|---|---|
| Developer | Đọc manifest, kubectl đủ để debug; hiểu Service/DNS/Ingress để không đổ lỗi “mạng” mù; biết chỗ đứng của ConfigMap/Secret. |
| DevOps / Platform / SRE | Thiết kế rollout, resource, observability cơ bản; đọc được RBAC và chart Helm; có lộ trình mở rộng GitOps/mesh sau loạt cốt lõi. |
Tiền đề: biết Docker/container ở mức docker run, hiểu YAML. Nối tốt với loạt Mạng & DevOps (đặc biệt bài 10) và Linux thực dụng (đặc biệt bài 06).
Sáu giai đoạn
Giai đoạn I, Tư duy & kiến trúc tối thiểu
Control plane vs node, object API, namespace, “thứ tôi sờ vào” là gì?
- Kubernetes tổng quan: control plane và node, Pod, components, request flow.
- kubectl, ngữ cảnh và namespace, Pattern thao tác, context, explain.
Giai đoạn II, Workload & vòng đời Pod
Ai tạo pod, ai restart, health check nằm đâu, batch job chạy thế nào?
- Pod, container và lifecycle, Init container, restart policy, CrashLoopBackOff.
- Deployment, ReplicaSet và rollout, Rolling update, undo, surge.
- Probe health: liveness, readiness, startup, Cấu hình đúng, sai cấu hình → hậu quả.
- Job, CronJob và DaemonSet, Batch, schedule, node-level workload.
Giai đoạn III, Mạng trong cluster
Tên service resolve ra IP nào, traffic đi qua layer nào, ai kiểm soát traffic?
- Service: ClusterIP, NodePort, LoadBalancer, VIP, kube-proxy, headless.
- DNS, CoreDNS và service discovery, FQDN, stub domain, debug.
- Ingress, Gateway API và TLS, Path routing, Gateway API GA, cert-manager.
- Network Policy, kiểm soát traffic, Pod selector, default deny, debug.
Giai đoạn IV, Cấu hình, bí mật & lưu trữ
Config đổ vào pod thế nào, secret có thật sự “bí mật” không?
- ConfigMap, Secret và Downward API, Env vs volume, hot reload, risk.
- Volume, PVC và stateful workload, PV, StorageClass, StatefulSet giới thiệu.
Giai đoạn V, Tài nguyên, ổn định & quan sát
OOM/throttle xảy ra ở đâu; đọc metric/event thế nào?
- Requests, limits, QoS và OOM, Scheduling, throttling, eviction.
- HPA, PDB và an toàn rollout, Auto-scale, disruption budget.
- Quan sát và debug: events, logs, metrics, kubectl debug, stern, metrics-server.
Giai đoạn VI, Đóng gói, quyền & hướng mở rộng
Triển khai lặp lại được; ai được làm gì trên cluster; đọc tiếp ở đâu?
- Helm, Kustomize, RBAC và bản đồ mở rộng, Package, overlay, quyền, Pod Security Standards, bản đồ đọc tiếp.
Lộ trình đọc theo mục tiêu
| Mục tiêu | Thứ tự đọc |
|---|---|
| Chỉ cần sống sót trên cluster dev | 01 → 02 → 03 → 07 → 08 → 15 |
| Tự tin deploy & rollout | 04 → 05 → 06 → 13 → 14 |
| Debug “không vào được API / web” | 07 → 08 → 09 → 10 + Mạng 10 |
| Chuẩn bị làm việc với platform | 11 → 12 → 16 (Helm + Kustomize + RBAC) |
| Batch job & background workload | 06 → 03 → 13 |
Liên hệ với loạt khác
- Mạng & DevOps: bài 10, Mạng trong Kubernetes là nền; bài 13, cert-manager nối với Ingress TLS; bài 17, Service mesh là hướng mở rộng.
- Linux thực dụng: bài 06, Process, ulimit và cgroup giúp hiểu requests/limits ở tầng kernel.
- Standalone: Kubernetes requests/limits: CPU throttling và OOMKilled, đi sâu hơn bài 13 về cách kernel thực thi limits.