cilium/cilium — eBPF-based Networking, Security, and Observability
Cilium — eBPF 기반 Kubernetes 네트워킹·보안·가시성 플랫폼
Cilium은 eBPF 기반 데이터플레인으로 Kubernetes 클러스터의 네트워킹, 로드밸런싱, 네트워크 정책, 서비스 메시, 가시성을 통합 제공하는 오픈소스 CNI입니다. IP가 아닌 아이덴티티 기반 보안 모델로 L3~L7 정책을 적용하고, kube-proxy를 완전히 대체할 수 있는 것이 특징입니다. 현재 v1.18~v1.20 세 개 마이너 버전이 유지보수 중이며 v1.21.0-pre.2 프리릴리스가 공개되어 있습니다.
- 주제
본문
Cilium은 eBPF(extended Berkeley Packet Filter)를 데이터플레인의 기반으로 삼아 Kubernetes 환경에서 네트워킹, 보안, 가시성을 한 프로젝트로 묶어낸 CNCF 생태계의 대표 CNI입니다. 리눅스 커널의 네트워크 I/O, 애플리케이션 소켓, 트레이스포인트 등 여러 지점에 eBPF 바이트코드를 동적으로 삽입해 로직을 구현하므로, iptables 경유 없이 커널 수준에서 고효율 패킷 처리가 가능합니다. 네트워크 토폴로지로는 VXLAN과 Geneve 캡슐화를 지원하는 오버레이 모드와 호스트의 일반 라우팅 테이블을 그대로 쓰는 네이티브 라우팅 모드를 모두 제공하며, L2 네이버 디스커버리나 BGP를 통한 경로 학습·광고 자동화도 지원합니다. 멀티 클러스터 환경에서는 Cluster Mesh가 여러 클러스터를 하나의 평면 L3 네트워크처럼 묶어 줍니다.
로드밸런싱과 kube-proxy 대체
Cilium은 파드 간 트래픽과 외부 서비스로 향하는 트래픽 모두에 대해 분산 로드밸런싱을 eBPF 해시 테이블로 구현합니다. 동서(East-west) 트래픽은 connect() 호출 시점의 소켓 레벨에서 서비스 연결을 재작성하기 때문에 패킷 단위 NAT 오버헤드가 없고, 이 구조 덕분에 kube-proxy를 완전히 제거할 수 있습니다. 남북(North-south) 트래픽은 XDP(eXpress Data Path)를 이용한 고처리량 L4 로드밸런싱, DSR(Direct Server Return), Maglev 일관성 해싱을 지원하며, 인그레스·이그레스 게이트웨이와 대역폭 관리 기능도 통합되어 있습니다.
아이덴티티 기반 네트워크 정책 (L3–L7)
기존 컨테이너 방화벽이 출발지 IP와 목적지 포트 기반 필터링에 의존해 컨테이너가 생성될 때마다 모든 노드의 규칙을 갱신해야 하는 한계를, Cilium은 보안 아이덴티티(security identity) 도입으로 해결합니다. 동일한 보안 정책을 공유하는 워크로드 그룹에 아이덴티티를 부여하고 모든 패킷에 이를 태깅해 수신 노드에서 검증하므로, IP 주소가 바뀌어도 정책이 유지됩니다. 정책 표현력도 넓어서 L3/L4 레이블·프로토콜·포트 제한, api.example.com이나 *.trusted.com 같은 FQDN·와일드카드 도메인 기반 DNS 정책, HTTP 메서드·URL 경로·gRPC 호출 단위의 L7 정책(예: /public/.* 경로에 GET만 허용, X-Token 헤더 정규식 검증)까지 적용할 수 있습니다. 외부 IP 대역에 대한 CIDR 기반 이그레스·인그레스 정책도 지원해 레거시 시스템이나 규제 경계와의 연동에 대응합니다.
서비스 메시와 가시성
Cilium Service Mesh는 프록시 사이드카 중심의 전통적 설계가 갖는 비용과 복잡도 없이 세밀한 트래픽 제어와 암호화를 제공하는 것을 목표로 합니다. 워크로드 간 상호 인증은 IPSec 또는 WireGuard로 아이덴티티 기반 자동 암호화되고, Kubernetes Gateway API 호환 데이터플레인으로 동작해 인그레스·트래픽 스플리팅·라우팅을 CRD로 선언적으로 관리할 수 있습니다. 가시성 측면에서는 Hubble이 실시간 서비스 맵, 아이덴티티·레이블 메타데이터가 붙은 플로우 가시성, DNS 인지 필터링을 제공하고, Prometheus·Grafana 연동 메트릭과 함께 정책 위반이나 DNS 조회 실패 같은 구체적인 드롭 사유(drop reason)와 감사 추적을 남겨 운영자가 트래픽 차단 원인을 바로 진단할 수 있게 해 줍니다.
릴리스 현황과 운영 참고 사항
프로젝트는 최근 세 개 마이너 버전만 안정 릴리스로 유지보수하는 정책을 따르며, 그 이전 버전은 EOL 처리됩니다. 2026년 9월 15일 자로 v1.20.2, v1.19.8, v1.18.14 패치가 동시에 배포되었고, 차기 버전인 v1.21.0-pre.2 프리릴리스도 공개되어 있습니다. 컨테이너 이미지는 AMD64와 AArch64로 배포되며, v1.13.0부터 모든 이미지에 SPDX 형식의 SBOM이 포함됩니다. main 브랜치의 일일 CI 이미지와 RC는 프로덕션 사용이 금지된 테스트용이고, 마이너 업그레이드 시에는 별도의 Upgrade Guide를 따르도록 권장하고 있습니다.
커뮤니티와 라이선스
Maintainer·Committer 체계의 거버넌스 문서 아래 운영되며, Slack 채널, 주간 Zoom 미팅(유럽 및 APAC 시간대), eCHO(eBPF & Cilium Office Hours) 주간 YouTube 라이브스트림 등 활동 경로가 다양합니다. 유저스페이스 구성요소는 Apache 2.0, BPF 코드 템플릿은 GPLv2와 2-Clause BSD 듀얼 라이선스입니다. 프로덕션 도입 사례는 리포지토리의 USERS.md에 정리되어 있습니다.
원문: GitHub / 번역·요약: Trawling