VolumeSnapshot và CSI snapshot
DevOpsStorage

VolumeSnapshot và CSI snapshot

Có ổ đĩa bền rồi, làm sao sao lưu? VolumeSnapshot chụp ảnh tức thời nội dung một PVC — và với EBS CSI, nó tạo hẳn một EBS snapshot thật trên AWS. Bài này khép Part IX: cài snapshot controller, chụp một PVC, khôi phục một PVC mới từ ảnh đó — kèm một bài học xương máu về vì sao lần khôi phục đầu ra file rỗng, và phải sync trước khi chụp.

K
KaiMay 24, 2026
StorageClass, dynamic provisioning và EB...
DevOpsStorage

StorageClass, dynamic provisioning và EBS CSI

Ở Bài 42 admin phải tạo PV bằng tay trước. Không ai làm vậy ở quy mô thật. StorageClass + CSI driver lật ngược: user chỉ tạo PVC, hệ thống tự đẻ PV — và tự gọi AWS tạo hẳn một EBS volume. Bài này cài EBS CSI driver thật (kèm IAM cho node), dò từng mắt xích ai-gọi-ai từ PVC tới lúc một ổ đĩa EBS ra đời, rồi xóa PVC và xem ổ đĩa biến mất.

K
KaiMay 24, 2026
PersistentVolume và PersistentVolumeClai...
DevOpsStorage

PersistentVolume và PersistentVolumeClaim

Volume ở Bài 41 chết theo pod. Muốn dữ liệu sống lâu hơn pod, Kubernetes tách làm hai vai: PersistentVolume là miếng lưu trữ thật (admin tạo), PersistentVolumeClaim là tờ yêu cầu lưu trữ (user tạo) — và một control loop âm thầm ghép chúng lại. Bài này dò từng bước ai-tạo-cái-gì, ai-bind-cái-gì: admin dựng PV, user xin PVC, controller bind hai chiều, pod dùng claim, xóa pod data vẫn còn, xóa claim thì PV về Released.

K
KaiMay 24, 2026
Volume: ephemeral, hostPath và projected
DevOpsStorage

Volume: ephemeral, hostPath và projected

File trong container biến mất khi container restart, và hai container trong một pod không tự thấy file của nhau. Volume giải cả hai. Bài này mở Part IX storage bằng các volume gắn thẳng vào pod: emptyDir (vùng nhớ tạm chia sẻ trong pod), hostPath (mượn thư mục của node), và projected (gộp configMap/secret/downwardAPI/token vào một chỗ) — test thật từng cái, làm rõ cái nào sống theo container, cái nào theo pod, cái nào theo node.

K
KaiMay 24, 2026
Vertical Pod Autoscaler và resource mana...
DevOpsAutoscaling

Vertical Pod Autoscaler và resource manager

HPA thêm pod khi tải lên. VPA làm điều ngược: giữ nguyên số pod nhưng chỉnh đúng lượng CPU/RAM mỗi pod cần — hết cảnh đặt request bừa rồi lãng phí hoặc thiếu. Bài này cài VPA (add-on, như Metrics Server), cho nó quan sát một workload thật rồi đưa khuyến nghị, và sang phía node: CPU Manager static policy ghim hẳn lõi CPU cho pod Guaranteed — test thật, thấy pod được cấp đúng một CPU độc quyền.

K
KaiMay 24, 2026
Metrics Server và HorizontalPodAutoscale...
DevOpsAutoscaling

Metrics Server và HorizontalPodAutoscaler

Part VIII đổi hướng: thay vì giết pod khi quá tải, ta thêm pod. Nhưng muốn autoscale theo CPU thì cluster phải biết pod đang dùng bao nhiêu CPU — mà cụm tự dựng của ta chưa có ai đo. Bài này cài add-on đầu tiên, Metrics Server, vấp đúng một cái bẫy KTHW (control plane không nói chuyện được với pod) rồi sửa nó, rồi dựng HPA và đốt CPU thật để xem nó tự nhân pod từ 1 lên 4.

K
KaiMay 24, 2026
Node-pressure eviction
DevOpsKubernetes

Node-pressure eviction

Ba bài qua nói về việc xếp pod. Bài này nói về việc đuổi pod — nhưng không phải preemption (scheduler, vì priority) hay OOM kill (kernel, vì vượt limit). Đây là kubelet chủ động giết pod khi node thật sự cạn RAM hoặc disk, theo ngưỡng và thứ tự xếp hạng riêng. Bài này tự tay tạo áp lực bộ nhớ thật trên một worker rồi xem kubelet trục xuất đúng pod ngốn nhất — kèm thông điệp eviction nói rõ vì sao.

K
KaiMay 24, 2026