StatefulSet: danh tính ổn định và thứ tự
DevOpsStorage

StatefulSet: danh tính ổn định và thứ tự

Deployment coi mọi pod như đàn cá vô danh — thay con nào cũng được. Nhưng database, message queue, etcd thì không: mỗi node cần một danh tính cố định và dữ liệu riêng. StatefulSet sinh ra cho đúng nhu cầu đó. Bài này đào bốn bảo đảm của nó — tên ổn định, DNS riêng từng pod qua headless service, tạo và xóa theo thứ tự — kiểm chứng từng cái trên cluster thật, và để dành phần volume cho phần Storage.

K
KaiMay 24, 2026· 21 views
Deployment: rollout và rollback
DevOpsDeployment

Deployment: rollout và rollback

Tới giờ ta toàn tạo Pod trần. Production thì không ai làm vậy — pod được giao cho Deployment quản, và Deployment không quản pod trực tiếp mà qua một lớp giữa: ReplicaSet. Bài này mở Part IV bằng cách đào đúng cơ chế đó: đổi image sinh ra ReplicaSet mới, rolling update nâng cái mới lên hạ cái cũ xuống, ReplicaSet cũ được giữ ở 0 để rollback một lệnh. Test thật từng bước trên cluster, soi cả chuỗi sở hữu Pod → ReplicaSet → Deployment.

K
KaiMay 24, 2026· 26 views
Disruption và PodDisruptionBudget
DevOpsKubernetes

Disruption và PodDisruptionBudget

Pod biến mất theo hai kiểu rất khác nhau: không tự nguyện (node chết, hết RAM — không ai ngăn được) và tự nguyện (rút node đi bảo trì, nâng cấp — chủ động). PodDisruptionBudget chỉ canh đúng kiểu thứ hai: nó bảo cluster đừng rút quá nhiều bản sao cùng lúc. Bài này phân biệt hai kiểu disruption rồi kiểm chứng PDB bằng Eviction API thật — thấy tận mắt cú evict bị chặn bằng HTTP 429.

K
KaiMay 24, 2026· 24 views
Requests, limits, QoS và Downward API
DevOpsKubernetes

Requests, limits, QoS và Downward API

Khai requests và limits cho container không chỉ là chuyện đặt con số. requests dẫn đường cho scheduler, limits là hàng rào kernel cưỡng chế — CPU bị bóp, bộ nhớ vượt là OOM kill. Từ bộ số đó Kubernetes xếp pod vào ba lớp QoS quyết định ai bị giết trước khi node cạn RAM. Bài này test thật cả ba lớp QoS, một cú OOMKilled, và Downward API để pod tự đọc thông tin về chính nó.

K
KaiMay 24, 2026· 25 views
Ephemeral container và kubectl debug
DevOpsKubernetes

Ephemeral container và kubectl debug

Container production tốt thường không có shell — image distroless càng gọn càng ít công cụ gỡ rối, nên kubectl exec bó tay. Bài này dùng ephemeral container: nhét tạm một container công cụ vào pod đang chạy mà không phải restart hay sửa image của nó. Đào ngữ nghĩa theo tài liệu rồi kiểm chứng cả ba chế độ của kubectl debug — gắn vào pod đang chạy, nhân bản pod, và gỡ rối thẳng node — trên cluster thật.

K
KaiMay 24, 2026· 34 views
Probe: liveness, readiness và startup
DevOpsKubernetes

Probe: liveness, readiness và startup

Bài 18 để lại condition Ready chưa có lời giải. Đứng sau nó là probe — cơ chế kubelet dùng để hỏi container ba câu khác nhau: mày còn sống không, mày sẵn sàng nhận lưu lượng chưa, mày khởi động xong chưa. Bài này tách bạch ba loại probe theo đúng tài liệu rồi kiểm chứng từng cái bằng pod thật: liveness làm kubelet giết và restart, readiness gỡ pod khỏi endpoint của Service, startup vô hiệu hóa hai probe kia tới khi app kịp khởi động.

K
KaiMay 24, 2026· 22 views
Init Container và Sidecar Container
DevOpsKubernetes

Init Container và Sidecar Container

Một pod không chỉ có container chính. Init container chạy việc chuẩn bị tới khi xong rồi mới nhường cho app khởi động; sidecar container chạy song song app suốt đời pod. Bài này phân biệt hai loại, đào ngữ nghĩa chính xác theo tài liệu — thứ tự khởi động, cách xử lý lỗi, thứ tự tắt — và kiểm chứng bằng các pod thật trên cluster v1.36.

K
KaiMay 24, 2026· 23 views