Introduction to Cilium CNI

Published on March 24, 2026
Introduction to Cilium CNI

Cilium CNI คือระบบเครือข่ายสำหรับ Kubernetes ที่ล้ำสมัยมาก โดยใช้เทคโนโลยีระดับเคอร์เนลของ Linux ที่เรียกว่า eBPF แทนการใช้ iptables แบบดั้งเดิม ที่มีการใช้งานใน Flannel และ Calico ในบทความนี้เราจะอธิบายทั้งแนวคิด, โครงสร้าง, การทำงาน, และข้อดี/ข้อเสียของ Cilium CNI รวมถึงข้อสรุปว่า Cilium นั้นเหมาะกับใครบ้าง

1. CNI คืออะไร

CNI ย่อมาจาก Container Network Interface คือมาตรฐานที่ Kubernetes ใช้จัดการ network ของ pod เช่น การ assign IP ให้ pod การทำ routing ระหว่าง pods และการจัดการ policy ในการควบคุม traffic CNI ที่ที่เป็นที่นิยมในปัจจุบันจะมีอยู่ 3 ตัวคือ Flannel (ง่าย), Calico (มี network policy) และ Cilium (advanced + eBPF)

2. Cilium คืออะไร

Cilium เป็น CNI ที่ ใช้ eBPF แทน iptables โดยมันทำงานระดับ kernel (เร็วกว่า) มี security + observability built-in พัฒนาโดย Isovalent (ปัจจุบันอยู่ภายใต้ Cisco)

3. eBPF คือหัวใจสำคัญ

eBPF (Extended Berkeley Packet Filter) คือ ส่วนของซอฟต์แวร์ที่รันใน Linux kernel สามารถเข้าไปเชื่อมเข้าไปใน network stack ได้โดยตรง ผลลัพธ์ก็คือ มันจะทำงานโดยไม่ต้องผ่าน iptables ทำให้ลด latency ไม่ต้อง traverse rules เยอะ ๆ และ ประมวลผล packet ได้เร็วมาก

4. Architecture ของ Cilium

4.1 Cilium Agent ซึ่งจะรันอยู่บนทุก node ทำหน้าที่จัดการ network ของ pod โดยจะทำการ inject eBPF program เข้า kernel
4.2 Cilium Operator ทำหน้าที่จัดการ IPAM และ sync cluster state
4.3 eBPF Programs ฝังใน kernel ทำหน้าที่เกี่ยวกับ packet filtering, load balancing และ routing
4.4 Hubble (Observability) ทำหน้าที่ monitor network traffic ซึ่งจะทำให้เราเห็น flow แบบ real-time

5. การทำงานของ Cilium

สำหรับการทำงานของ CNI แบบเดิมหรือ traditional จะใช้ iptables เป็นหลัก ซึ่งจะทำงานโดย packet เข้า node และข้อมูลจะวิ่งผ่าน iptables rules หลายตัว ซึ่งปกติเราจะสามารถเช็คได้ผ่านคำสั่ง iptables -L และ เนื่องจากความซับซ้อนของ rule ทำให้เกิดlatency สูง แต่  Cilium (eBPF) packet เข้า node และ eBPF intercept ทันที เพื่อการตัดสินใจ route/filter ได้เลย ลดความซับซ้อนลง และ ทำให้เร็วกว่าอย่างมีนัยสำคัญ

6. ความสามารถหลัก
6.1 Network Security (ทำงานตั้งแต่ L3 ถึง L7) โดยใน  L3/L4  คือการทำงานระดับ IP + Port และ  L7 ก็คือการทำงานในระดับ application HTTP, gRPC เช่นการ allow เฉพาะ `GET /api` หรือ block POST ก็ทำได้ด้วย ซึ่งนั่นหมายถึง มีความยืดหยุ่นสูงมากๆ
6.2 Kubernetes Network Policy รองรับ Kubernetes native policy และ  CiliumNetworkPolicy (advanced)
6.3 Load Balancing ไม่ต้องใช้ kube-proxy แต่จะใช้ eBPF แทน เรียกว่า kube-proxy replacement
6.4 Observability (Hubble) เราจะสามารถมอนิเตอร์ได้ว่า pod A เชื่อมไปยัง pod B และ ดูว่า request ไหนถูก block รวมถึงมี latency เท่าไร
6.5 Encryption รองรับ IPsec และ WireGuard
6.6 Service Mesh ทำได้เลย โดยไม่ต้องใช้ sidecar เช่น Istio ลด resource usage มาก

7. จุดเด่นของ Cilium

  • Performance สูง เพราะไม่มี iptables และ scale ได้ดี
  • Security ระดับสูง เพราะทำงานได้ถึง Layer 7 OSI Model
  • ทำงานแบบ identity-based (ไม่ใช่แค่ IP)
  • Debug ง่าย Hubble เห็น flow ชัด
  • Integrate กับระบบอื่นได้ดี
  • เป็น Kubernetes native รองรับ cloud (EKS, GKE, AKS)

8. ข้อเสีย / ข้อจำกัด

1. ต้องใช้ Kernel รุ่นใหม่ โดย eBPF ต้อง Linux kernel ≥ 4.19 (แนะนำ 5.x) และ บาง distro เช่น Rocky อาจมีปัญหา (คุณเคยเจอ Calico issue ก็เกี่ยว kernel ได้)
2. มีความซับซ้อนสูง และมี config เยอะ การ debug ต้องเข้าใจเกี่ยวกับ eBPF
3. Resource usage ใช้ CPU เพิ่มเล็กน้อย (เพราะ processing in-kernel)

9. เปรียบเทียบกับ CNI อื่น

Feature Flannel Calico Cilium
Performance ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐
Network Policy ✅ (L7)
eBPF (partial)
Observability
Service Mesh

10. ใช้ Cilium เมื่อไหร่

จริงๆ ต้องบอกว่ามันหมดกับ cluster ทุกขนาด เลยก็ว่าได้ ไม่ว่าจะเป็นขนาดเล็กจนถึงมากกว่า 100 nodes และใช้ workload แบบ microservices รวมถึงต้องการจัดการเรื่อง security ผ่าน API และ ต้องการระบบมอติเตอร์ที่ดี แต่มันอาจจะไม่ค่อยเหมาะสำหรับผู้ที่ต้องการความง่าย และสะดวก เพราะว่า flannel อาจจะรองรับได้อยู่แล้ว และ ง่ายกว่าในเรื่องการทำความเข้าใจ โดยเฉพาะผู้ที่ยังไม่ค่อยชำนาญเรื่องเครือข่าย

โดยสรุปเราอาจจะกล่าวได้ว่า Cilium คือCNI รุ่นใหม่ที่ใช้ eBPF เพื่อให้ network เร็ว, ปลอดภัย, และฉลาดกว่าแบบเดิม และที่สำคัญรองรับการขยายได้เยอะมาก

สนใจสอบถามเพิ่มเติมในเรื่อง CNI หรือ ต้องการใช้งาน Kubernetes หรือ Proxmox + Containers พูดคุยกับเราผ่าน Line OA @avesta.co.th หรืออีเมล์ [email protected]

 

 

Introduction to Cilium CNI

Cilium CNI คือระบบเครือข่ายสำหรับ Kubernetes ที่ล้ำสมัยมาก โดยใช้เทคโนโลยีระดับเคอร์เนลของ Linux ที่เรียกว่า eBPF แทนการใช้...

Read more »

KubeVirt vs VMware

บทนำ KubeVirt และ VMware ต่างก็ใช้รัน Virtual Machine เหมือนกัน แต่ วิธีการทำงาน...

Read more »

แนะนำให้รู้จักกับ Scale Computing

รู้จักกับ Scale Computing และแพลตฟอร์ม Scale Computing HC3 สำหรับผู้ที่กำลังจะย้ายจาก VMware ไปสู่ระบบ...

Read more »

Thin-LVM vs LVM เปรียบเทียบสถาปัตยกรรมและประสิทธิภาพการเขียนข้อมูล

สำหรับผู้ที่ใช้งาน Proxmox VE และ มีการใช้งาน Local Storage ซึ่งเป็น LVM และ...

Read more »

การอ่านค่าและตีความค่าด้านประสิทธิภาพใน Proxmox VE 9

ทำความเข้าใจเกี่ยวกับการวัดค่าต่างๆ ใน Proxmox VE 9 Proxmox VE 9 เป็นแพลตฟอร์ม virtualization...

Read more »

ทำความเข้าใจเกี่ยวกับ NIC Bonding ใน Linux และ Proxmox VE

สำหรับการเพิ่มความเร็วและ Redundancy ใน Proxmox VE โดยเฉพาะกับระบบเครือข่ายนั้น แน่นอนว่าจะเกี่ยวกับเรื่องของ Network โดยตรง วันนี้เราเลยพาไปพบกับบทความเกี่ยวกับเรื่องการทำ...

Read more »