Vòng Đời Một Request: Từ kubectl apply T...
DevOpsArchitecture

Vòng Đời Một Request: Từ kubectl apply Tới Pod Chạy

Smoke test ở bài trước cho thấy cluster chạy; bài này lần theo một câu lệnh apply duy nhất đi qua từng thành phần đã dựng, theo trình tự thời gian, để thấy chúng chuyền tay nhau ra sao. Quan trọng hơn cả chuỗi bước là mô hình đằng sau: không có nhạc trưởng ra lệnh, chỉ có nhiều vòng lặp độc lập cùng nhìn vào một nguồn sự thật và kéo hiện thực về phía mong muốn.

K
KaiMay 24, 2026
Smoke Test: Cả Cluster Chạy Cùng Nhau
DevOpsDeployment

Smoke Test: Cả Cluster Chạy Cùng Nhau

Mọi thành phần đã đủ mặt; bài này kiểm tra chúng làm việc cùng nhau. Ta triển khai một ứng dụng thật qua Deployment, lộ ra bằng Service, gọi nó bằng tên và thấy lưu lượng chia đều các bản sao, dùng logs/exec/port-forward, rồi xóa một pod để xem cluster tự chữa lành. Mỗi phép thử soi sáng một mảnh ta đã dựng suốt series.

K
KaiMay 24, 2026
CoreDNS: Gọi Nhau Bằng Tên Trong Cluster
DevOpsDNS

CoreDNS: Gọi Nhau Bằng Tên Trong Cluster

Pod đã nói chuyện được bằng IP, nhưng IP pod thay đổi mỗi lần tái sinh nên không ai hard-code. CoreDNS lấp chỗ đó: chạy như một workload ngay trong cluster, đứng sau Service ở đúng 10.32.0.10 mà kubelet đã trỏ pod tới, và phân giải tên Service thành ClusterIP. Bài này triển khai CoreDNS bằng tay — RBAC, ConfigMap, Deployment, Service — rồi test một pod phân giải tên nội bộ lẫn tên ngoài Internet.

K
KaiMay 24, 2026
Nối Mạng Pod Bằng Tay: CNI bridge và Rou...
DevOpsNetworking

Nối Mạng Pod Bằng Tay: CNI bridge và Route VPC

Bài lý thuyết trước dựng nền; bài này lắp ráp. Ta viết CNI config bridge + host-local cho mỗi worker, thêm route trong bảng định tuyến VPC để pod-to-pod xuyên node đi được, rồi xem hai node cuối cùng chuyển sang Ready. Cuối bài tạo hai pod thật trên hai node khác nhau và ping giữa chúng — pod nhận IP từ dải của node mình, và gói đi xuyên node mà không bị NAT.

K
KaiMay 24, 2026
Mô Hình Mạng Của Kubernetes
DevOpsNetworking

Mô Hình Mạng Của Kubernetes

Trước khi nối mạng pod ở bài sau, cần hiểu Kubernetes đòi hỏi một mô hình mạng như thế nào: mỗi pod một IP, mọi pod nói chuyện trực tiếp không NAT. Bài này đi qua bốn yêu cầu nền của mô hình, bốn kiểu giao tiếp trong cluster, vì sao pod-to-pod xuyên node là phần khó, hai họ giải pháp (overlay và native routing), và CNI khớp vào đâu — đặt nền cho việc dựng tay ở bài tiếp.

K
KaiMay 24, 2026
kube-proxy: Biến ClusterIP Thành Đích Th...
DevOpsKubernetes

kube-proxy: Biến ClusterIP Thành Đích Thật

Service trong Kubernetes là một IP ảo — không gắn với máy nào. kube-proxy là thành phần biến IP ảo đó thành luật chuyển tiếp trên mỗi node, để lưu lượng tới ClusterIP rơi đúng vào một pod đứng sau. Bài này cài kube-proxy ở chế độ iptables trên hai worker, mổ xẻ các chain NAT nó sinh ra, rồi curl thẳng vào ClusterIP để thấy nó hoạt động — tất cả mà chưa cần mạng pod.

K
KaiMay 24, 2026
kubelet: Đưa Worker Vào Cluster
DevOpsKubernetes

kubelet: Đưa Worker Vào Cluster

kubelet là tiến trình duy nhất trên worker nói chuyện với api-server và ra lệnh cho containerd. Bài này phân phối certificate cho từng node, viết KubeletConfiguration trỏ vào socket containerd, dựng systemd unit, rồi xem hai worker đăng ký vào cluster — và hiểu vì sao chúng hiện ra ở trạng thái NotReady chứ chưa phải Ready.

K
KaiMay 24, 2026