Hubble Bên Trong: Từ Sự Kiện eBPF Tới Lu...
KubernetesCilium

Hubble Bên Trong: Từ Sự Kiện eBPF Tới Luồng Mạng Toàn Cụm

Hubble cho ta xem mọi kết nối trong cụm Kubernetes theo tên pod, service, verdict policy — mà không cài sidecar vào pod nào. Bài này mổ cơ chế: datapath eBPF của Cilium (74 chương trình sched_cls ở Bài 12) gọi bpf_perf_event_output đẩy sự kiện vào một perf ring buffer tên cilium_events; cilium-agent đọc ra (cilium monitor cho thấy sự kiện thô với identity dạng số); rồi Hubble giàu hóa — biến identity 18203 thành kube-system/coredns — bằng cách tra kho identity-nhãn. Ta xem cả ba tầng chạy thật.

K
KaiMay 24, 2026
Kiểu Tetragon: Từ Quan Sát Đến Cưỡng Chế...
SecurityKubernetes

Kiểu Tetragon: Từ Quan Sát Đến Cưỡng Chế Bằng bpf_send_signal

Tetragon là công cụ an ninh runtime của hệ Cilium: nó quan sát bằng kprobe/tracepoint (đúng những hook Part II dùng) rồi cưỡng chế ngay trong nhân. Cơ chế cưỡng chế thật của nó là hai helper — bpf_send_signal gửi SIGKILL giết tiến trình, và bpf_override_return ghi đè giá trị trả về syscall. Bài này tự dựng đúng cơ chế đó: một tracepoint exec gọi bpf_send_signal(SIGKILL) để giết một tiến trình ngay khi nó chạy — binary cấm nhận exit 137, binary thường vẫn chạy. Không cần LSM hay reboot.

K
KaiMay 24, 2026
Case-study: Một Gói Đi Qua Datapath eBPF...
NetworkingKubernetes

Case-study: Một Gói Đi Qua Datapath eBPF Của Cilium

Mười chín bài đã mổ từng mảnh: verifier, maps, XDP, tc, tail call, perf ring, identity. Bài này ghép chúng lại thành một câu chuyện liền mạch — đi theo đúng một gói khi một pod gọi Service DNS của cụm, từ lúc rời pod nguồn tới lúc tới pod CoreDNS, qua từng chương trình eBPF và từng BPF map mà nó chạm vào. Không khái niệm mới; chỉ là thấy toàn bộ cỗ máy chạy như một thể thống nhất, với dữ liệu thật từ chính cụm đã dùng suốt series.

K
KaiMay 24, 2026
tc/sched_cls và Mổ Datapath Cilium Đang ...
NetworkingKubernetes

tc/sched_cls và Mổ Datapath Cilium Đang Chạy

Sau XDP là tc — hook nơi gói đã có sk_buff, thấy được cả ingress lẫn egress, và là nơi Cilium đặt gần như toàn bộ datapath của nó. Bài này không viết tc mẫu cho có; nó mổ thẳng 74 chương trình sched_cls đang chạy thật trên một node của cụm: chúng gắn vào đâu (card mạng, từng pod), gọi nhau qua tail call thế nào, và tra những BPF map nào để cân bằng tải một Service hay áp NetworkPolicy. Load balancing kube-proxy-less hóa ra chỉ là một lần tra map.

K
KaiMay 24, 2026
cilium/ebpf: Nạp eBPF Từ Go
KuberneteseBPF

cilium/ebpf: Nạp eBPF Từ Go

Bài 9 dựng execsnoop bằng C với libbpf. Bài này viết lại đúng công cụ đó nhưng nạp từ Go bằng thư viện cilium/ebpf — cách hệ sinh thái Kubernetes (Cilium, Tetragon, Falco) build ứng dụng eBPF. Phía nhân không đổi; bpf2go biên dịch nó và nhúng thẳng object vào mã Go, rồi một chương trình Go gắn tracepoint và đọc ring buffer. Kết quả là một binary tĩnh duy nhất, không phụ thuộc libbpf.so — và ta gặp đúng những cái bẫy thật khi dựng nó.

K
KaiMay 24, 2026
uprobe, USDT và Soi Pod Từ Host
LinuxKubernetes

uprobe, USDT và Soi Pod Từ Host

Tới giờ ta gắn vào nhân. eBPF còn với được vào userspace: uprobe gắn vào hàm của một chương trình hay thư viện thường, USDT gắn vào điểm tracepoint mà ứng dụng cài sẵn. Bài này trace hàm getaddrinfo trong libc để thấy chương trình nào đang phân giải tên miền gì, rồi dùng đúng kỹ thuật đó soi một pod thật trên cụm từ phía host — thấy nó gọi syscall gì mà không cần đụng vào pod. Đây là lý do eBPF thành nền quan sát cho Kubernetes.

K
KaiMay 24, 2026
Dọn Dẹp Toàn Bộ và Tổng Kết
DevOpsAWS

Dọn Dẹp Toàn Bộ và Tổng Kết

Bài cuối. Cụm EC2 đã làm xong việc của nó, và để nó chạy là đốt tiền mỗi giờ. Bài này dọn sạch toàn bộ hạ tầng theo đúng thứ tự — terminate sáu instance (kéo theo ổ đĩa), trả Elastic IP, gỡ IAM role — kèm bảng chi phí thật để thấy ba lựa chọn: chạy tiếp, stop để dành, hay xóa hẳn. Rồi nhìn lại cả hành trình: từ một certificate tự ký tới một cụm Kubernetes HA vận hành đầy đủ, dựng tay từng mảnh.

K
KaiMay 24, 2026