Máy Ảo eBPF: Thanh Ghi, Tập Lệnh và Byte...
LinuxeBPF

Máy Ảo eBPF: Thanh Ghi, Tập Lệnh và Bytecode

Bài trước thấy một chương trình eBPF có 'xlated 512B' (bytecode đã verify) và 'jited 333B' (mã máy). Bài này đi vào trong cái bytecode đó: eBPF là một máy ảo kiểu RISC với 11 thanh ghi 64-bit, một tập lệnh nhỏ, được thiết kế để vừa dịch nhanh sang mã máy gốc vừa kiểm chứng được an toàn. Ta đọc thẳng bytecode của một chương trình Cilium đang chạy, soi từng lệnh ánh xạ ra thanh ghi và lớp lệnh nào, rồi xem vì sao đúng thiết kế máy ảo này mới cho phép verifier chứng minh an toàn.

K
KaiMay 24, 2026
Migrate sang Cilium kube-proxy-less
DevOpsNetworking

Migrate sang Cilium kube-proxy-less

Lý thuyết xong, giờ làm thật: thay kube-proxy + bridge của Part I bằng Cilium 1.19 dựa eBPF, gỡ hẳn kube-proxy, bật Hubble. Bài này dò từng bước migration trên cụm đang chạy — cài Cilium, tắt kube-proxy, xác nhận Service vẫn chạy mà không còn một rule iptables nào của kube-proxy — kèm bốn cái bẫy thật mà một cụm tự dựng vấp phải (providerID, topology label, IMDS hop limit, hostNetwork) và cách gỡ.

K
KaiMay 24, 2026
Cilium và eBPF: vì sao thay kube-proxy
DevOpsNetworking

Cilium và eBPF: vì sao thay kube-proxy

Ở Part I ta dựng mạng pod bằng kube-proxy iptables và một bridge thủ công — đủ chạy, nhưng iptables phình tuyến tính theo số Service và mọi quyết định mạng nằm rải trong hàng trăm rule. Part X nâng cấp: thay cả kube-proxy lẫn bridge bằng Cilium dựa eBPF. Bài này là phần lý thuyết — eBPF là gì, vì sao nó nhanh hơn iptables, Cilium làm gì khác ở datapath — soi thẳng 74 rule iptables đang chạy để thấy thứ ta sắp bỏ đi.

K
KaiMay 24, 2026