Cilium eBPF: Service Mesh Thay Thế Istio Cho Kubernetes

Cilium eBPF đang thay đổi cách chúng ta nghĩ về service mesh trong Kubernetes. Khác với Istio sử dụng sidecar proxy (Envoy) chạy ở user-space, Cilium tận dụng eBPF (extended Berkeley Packet Filter) chạy trực tiếp trong kernel Linux để xử lý mạng, bảo mật và quan sát (observability) với hiệu suất cao hơn đáng kể.

Service mesh truyền thống như Istio gặp phải vấn đề hiệu suất do overhead của sidecar proxy: mỗi request phải đi qua Envoy proxy, gây độ trễ (latency) và tiêu tốn tài nguyên CPU/memory đáng kể. Cilium giải quyết điều này bằng cách đưa logic xử lý mạng xuống kernel thông qua eBPF, loại bỏ hoàn toàn nhu cầu sidecar cho nhiều trường hợp sử dụng.

Sơ đồ mạng Pod Kubernetes đơn giản hóa
Sơ đồ mạng Pod Kubernetes đơn giản hóa – nền tảng của Cilium CNI

Cilium bắt đầu như một CNI (Container Network Interface) cho Kubernetes vào năm 2015, tập trung vào mạng IPv6 hiệu năng cao với eBPF và XDP. Qua các năm, nó đã mở rộng thành một platform toàn diện:

  • Cilium CNI: Networking Layer 3/4, network policy, load balancing, encryption
  • Hubble: Observability dựa trên eBPF cho network flows, service map, metrics
  • Cilium Service Mesh: Quản lý traffic giữa services (L7), mTLS, traffic splitting, retry/timeout
  • Tetragon: Security observability và runtime enforcement (process execution, file access, network)
  • Cilium Mesh: Kết nối workloads across cloud, on-prem, edge

Vào tháng 10/2023, Cilium trở thành CNCF Graduated project – mức độ trưởng thành cao nhất trong hệ sinh thái cloud native. Các cloud provider lớn đều đã adopt Cilium:

  • Google: Kubernetes Dataplane v2 (GKE)
  • AWS: EKS Anywhere networking & security
  • Azure: Default CNI cho AKS
Kiến trúc eBPF cho testing và observability
Kiến trúc eBPF – cơ sở công nghệ của Cilium cho networking, security, observability

So sánh Cilium vs Istio:

Tiêu chí Cilium eBPF Istio Sidecar
Architecture Kernel-level (eBPF) User-space (Envoy sidecar)
Latency Thấp (no proxy hop) Cao (mỗi request qua proxy)
Resource usage Thấp (shared kernel) Cao (mỗi pod có sidecar)
L7 visibility Có (eBPF socket filters) Có (Envoy)
Network policy Kernel-enforced Sidecar-enforced
Multi-cluster Native (Cilium Mesh) Cần cấu hình phức tạp
Windows support Có (eBPF on Windows) Hạn chế

Để migrate từ Istio sang Cilium Service Mesh:

  1. Cài đặt Cilium CNI thay thế CNI hiện tại (không downtime với rolling update)
  2. Bật Hubble để quan sát traffic hiện tại trước khi bật service mesh features
  3. Chuyển đổi network policy từ Istio AuthorizationPolicy sang CiliumNetworkPolicy
  4. Bật Cilium Service Mesh (L7) cho các namespace cần thiết
  5. Gỡ bỏ Istio sidecar injector và control plane
Kiến trúc Kubernetes master và worker nodes
Kiến trúc Kubernetes – nơi Cilium vận hành như CNI và Service Mesh

Với Cilium 1.16+ (2024), các tính năng mới bao gồm: Gateway API support, IPAM improvements, improved Hubble UI, và better Windows support. Cilium đang trở thành standard de facto cho Kubernetes networking và service mesh trong production.

Tham khảo thêm: Cilium (computing) – Wikipedia | Cilium Official Website

Tôi là một lập trình viên IOS. Code chính là IOS nhưng thỉnnh thoảng vẫn đá sang Android hoặc web. Mặc dù không quá thông thạo nhưng tôi sẽ chia sẻ những kiến thức mà mình đã tìm hiểu, áp dụng qua.

Bài viết liên quan

Li-Fi: Truyền dữ liệu qua ánh sáng thay thế WiFi

Li-Fi: Truyền dữ liệu qua ánh sáng thay thế WiFi Li-Fi (Light Fidelity) là công nghệ truyền thông không dây sử dụng ánh sáng thay vì sóng radio như Wi-Fi….

Xem thêm

WebAssembly: Chạy Python, C/C++ trên web với tốc độ gần native

WebAssembly: Chạy Python, C/C++ trên web với tốc độ gần native JavaScript longtemps đã là ngôn ngữ độc quyền chạy trong trình duyệt web, nhưng có thể bạn từng tự…

Xem thêm

Matter & OpenThread: Giao thức nhà thông minh thế hệ mới

Matter & OpenThread: Giao thức nhà thông minh thế hệ mới Sau nhiều năm mảnh dỡ do vô số giao thức riêng tư như Zigbee, Z-Wave, Bluetooth Mesh hay Weave,…

Xem thêm
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất