Cilium은 eBPF를 기반 엔진으로 사용하여 Kubernetes와 같은 플랫폼에서 마이크로서비스를 실행하도록 최적화된 네트워킹 스택을 만듭니다. eBPF는 Cilium의 강력한 보안 가시성과 제어 로직을 Linux 커널에 동적으로 삽입할 수 있도록 합니다. eBPF는 Linux 커널을 프로그래밍 가능하게 만들어 Cilium과 같은 애플리케이션이 Linux 커널 하위 시스템에 연결하여 사용자 공간 애플리케이션 컨텍스트를 커널 작업으로 가져올 수 있도록 합니다.
eBPF는 Linux 커널 내부에서 실행되므로 Cilium 보안 정책을 애플리케이션 코드나 컨테이너 구성을 변경하지 않고도 적용하고 업데이트할 수 있습니다. eBPF 프로그램은 Linux 네트워크 데이터 경로에 연결되며 패킷이 네트워크 소켓에 들어올 때 네트워크 정책 규칙에 따라 패킷을 삭제하는 데 사용될 수 있습니다.
eBPF는 이전에는 불가능했던 수준의 세분성과 효율성을 통해 시스템과 애플리케이션에 대한 가시성과 제어를 제공합니다. 애플리케이션을 변경할 필요 없이 완전히 투명한 방식으로 이를 수행합니다. Cilium은 효율적인 ID 개념을 계층화하고, 메타데이터 레이블과 같은 쿠버네티스 컨텍스트 정보를 eBPF 기반 네트워킹 로직에 통합하여 eBPF의 강력한 기능을 활용합니다.
네트워크 정책은 어떤 워크로드가 서로 통신할 수 있는지 정의하여 예상치 못한 트래픽을 방지하고 배포를 보호합니다. Cilium은 기본 Kubernetes NetworkPolicy와 향상된 CiliumNetworkPolicy 리소스 유형을 모두 적용할 수 있습니다.
항목 | Kubernetes NetworkPolicy | CiliumNetworkPolicy |
---|---|---|
지원 계층 | L3, L4 | L3, L4, L7 |
정책 타입 | allow only | allow, deny, audit |
L7 프로토콜 | ❌ 미지원 | ✅ HTTP, gRPC, Kafka, DNS 등 |
FQDN 제어 | ❌ 불가능 | ✅ 가능 (*.google.com ) |
CIDR 허용 | 제한적 | 매우 유연 |
Hubble 연동 | ❌ | ✅ 흐름 시각화 가능 |
관측 기능 | ❌ | ✅ 로그/메트릭 제공 |
정책 표현력 | 낮음 | 매우 높음 |
범용성 | Kubernetes 표준 | Cilium 전용 |