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
Container Runtime và CRI: Cài containerd...
DevOpscontainerd

Container Runtime và CRI: Cài containerd Trên Worker

kubelet không tự chạy container — nó ủy thác việc đó cho một container runtime qua một giao diện chuẩn tên là CRI. Bài này giải thích CRI là gì, ai trong chồng kubelet → containerd → runc làm việc gì, rồi cài containerd v2.3 cùng runc trên hai worker, chỉnh cgroup driver cho khớp kubelet, và kiểm chứng bằng crictl.

K
KaiMay 24, 2026
HAProxy Gom Ba API Server và kubectl Từ ...
DevOpsKubernetes

HAProxy Gom Ba API Server và kubectl Từ Xa

Ba api-server đang chạy nhưng client phải biết gọi cái nào. Bài này dựng HAProxy trên lb-0 để gom chúng thành một địa chỉ duy nhất ở chế độ TCP passthrough — giữ nguyên mTLS đầu-cuối, rồi cấu hình kubectl trên laptop trỏ qua Elastic IP và thiết lập RBAC để api-server gọi được xuống kubelet.

K
KaiMay 24, 2026