ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • calico vs cilium
    Kubernetes 2025. 3. 25. 01:25
    728x90

    CalicoCilium은 둘 다 고급 Kubernetes 네트워크 플러그인이며, 보안 정책과 고성능 네트워킹을 제공하지만 철학과 기술 스택이 완전히 다릅니다.

    Calico는 전통적인 Linux 커널 기능(iptables, routing, BGP 등)을 기반으로 하고,
    Cilium은 eBPF (Extended Berkeley Packet Filter) 를 핵심으로 삼아 더 현대적인 접근 방식을 제공합니다.

     

     

    Calico vs Cilium 비교

     

    항목 Calico Cilium
    기반 기술 Linux 커널의 iptables, routing, BGP eBPF (커널 수준 가상 머신)
    eBPF 지원 ✅ (선택적 eBPF 지원) 기본 eBPF 기반
    네트워크 모델 L3 라우팅 또는 VXLAN 오버레이 eBPF 기반 L3/L4/L7 aware
    Service 처리 방식 kube-proxy 사용 (또는 eBPF kube-proxyless 모드) ❌ kube-proxy 없이 eBPF로 처리 가능
    네트워크 정책 Kubernetes NetworkPolicy + Calico 정책 Kubernetes NetworkPolicy + L7-aware 정책 (HTTP, gRPC 등)
    L7 정책 ❌ 지원 안 함 HTTP, gRPC 등 L7 기반 정책 지원
    성능 우수 (특히 eBPF 모드) 매우 우수 (최소 오버헤드)
    복잡도 중간 (BGP 등 설정 필요 시) 중간~높음 (eBPF 의존성, 최신 커널 필요)
    가시성 (Observability) 기본 수준 (ipset, iptables 기반 로깅 등) 매우 우수 (Hubble 등으로 실시간 트래픽 시각화)
    로드 밸런싱 kube-proxy 또는 IPVS eBPF 로드밸런서 내장
    운영 안정성 널리 검증됨, 다양한 플랫폼에서 사용 빠르게 성장 중, 일부 커널/환경 제한 있음
    기타 기능 BGP routing, external IPAM 등 Hubble (트래픽 추적), CNI chaining, Envoy 통합 등

     

     

    기술적으로 가장 큰 차이점

    🔸 Calico는:

    • 전통적인 Linux 네트워킹 기능을 적극 활용합니다.
    • iptables, ipset, BGP 등을 사용해 안정적이고 이해하기 쉬운 구조입니다.
    • eBPF 모드도 있으나, 선택 사항이며 일부 구성은 아직 제한적입니다.

    🔸 Cilium은:

    • 모든 네트워크 처리, 정책, 관찰을 eBPF에서 실행합니다.
    • 네트워크 트래픽을 L7 수준까지 인식하고 필터링할 수 있어 보안/관찰이 뛰어납니다.
    • kube-proxy 없이도 Service 처리가 가능하며, 더 낮은 오버헤드와 빠른 반응성을 제공합니다.

    선택 기준 요약

    상황 추천
    ✅ eBPF와 최신 커널 환경, L7 정책, observability 필요 Cilium
    ✅ 안정적이고 검증된 BGP 라우팅, 간단한 정책 위주 Calico
    ❌ 구형 커널 환경, eBPF 지원 부족 Calico (iptables 모드)

    성능 & 가시성 비교

    항목 Calico Cilium
    Pod-to-Pod latency 낮음 (eBPF 모드 시) 매우 낮음
    CPU 사용량 보통 낮음 (eBPF 효과)
    Flow 시각화 제한적 Hubble UI / CLI로 매우 직관적
    L7 Policy 지원 ✅ (Path, Method 등까지 제한 가능)

    결론

    • Calico: 성숙하고 안정적인 네트워크 + 정책 기능, eBPF는 선택 가능
    • Cilium: 차세대 고성능 eBPF 네트워크, 보안 + 관찰성 + 확장성 뛰어남
    728x90
Designed by Tistory.