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
Capstone: Tự Viết connmon — Monitor Kết ...
ObservabilityeBPF

Capstone: Tự Viết connmon — Monitor Kết Nối TCP Toàn Node

Bài cuối: ghép mọi thứ đã học thành một công cụ thật. connmon gắn kprobe vào tcp_connect trong nhân, đẩy mỗi kết nối TCP mới qua ring buffer, và một loader Go in chúng ra theo thời gian thực — pid, tiến trình, đích IP:port. Chỉ hơn trăm dòng, một binary tĩnh, chạy trên cụm thấy ngay coredns, kubelet, curl đang kết nối đi đâu. Kèm một cái bẫy build thật của kprobe. Rồi nhìn lại toàn bộ hành trình eBPF từ số không.

K
KaiMay 24, 2026
bpftrace: Viết Tracing Trong Một Dòng
LinuxObservability

bpftrace: Viết Tracing Trong Một Dòng

Part I tự viết chương trình eBPF bằng C, clang, bpftool — nhiều bước cho một câu hỏi đơn giản như 'tiến trình nào đang mở file nào'. bpftrace là đường tắt: một dòng lệnh trả lời ngay, không C không clang. Nhưng bên dưới vẫn là eBPF — bài này chứng minh điều đó (bpftool thấy chương trình bpftrace nạp vào rồi biến mất), rồi đi qua cú pháp probe/filter/action, kho 122 nghìn probe gắn được, và các biến dựng sẵn, qua các one-liner chạy thật trên cụm.

K
KaiMay 24, 2026
Node Log Query và Phân Quyền Kubelet Chi...
DevOpsSecurity

Node Log Query và Phân Quyền Kubelet Chi Tiết

Bài 65 xem log thành phần hệ thống bằng cách SSH vào từng node chạy journalctl. v1.36 cho query log đó thẳng qua API kubelet, không cần SSH. Và đi kèm là một thay đổi bảo mật: quyền truy cập API kubelet, trước đây gộp một cục trong nodes/proxy, nay tách chi tiết từng endpoint — cho phép cấp đúng nodes/metrics cho agent giám sát mà không trao luôn quyền đọc log hay exec. Bài cuối Part XIV, cả hai chạm tới thành phần ta tự dựng ở Part I.

K
KaiMay 24, 2026
Metrics, Traces và API Priority and Fair...
DevOpsKubernetes

Metrics, Traces và API Priority and Fairness

Log cho sự kiện rời rạc; metrics cho số liệu liên tục. Bài này soi endpoint /metrics định dạng Prometheus mà apiserver và kubelet phơi ra, rồi đào API Priority and Fairness — cơ chế apiserver tự chia băng thông request thành nhiều mức ưu tiên để một client hỗn không bóp nghẹt phần còn lại. Ta xem FlowSchema và PriorityLevelConfiguration dựng sẵn, và trạng thái sống của từng mức qua endpoint debug — tất cả trên cụm thật.

K
KaiMay 24, 2026
Kiến Trúc Logging
DevOpsKubernetes

Kiến Trúc Logging

kubectl logs nghe đơn giản, nhưng phía sau là một chuỗi: container ghi stdout/stderr ra file trên node, kubelet đọc file đó trả về, và xoay nó khi đầy. Bài này lần theo một dòng log thật từ kubectl xuống đúng file trên đĩa worker, xem định dạng CRI và symlink, rồi tách hai loại log của cụm tự dựng — log container và log thành phần hệ thống qua journald — và vì sao cụm không tự gom log mà cần một agent.

K
KaiMay 24, 2026