Cilium이란 무엇인가.

3 minute read

Cilium

  • Cilium 은 워크로드 간 네트워크 연결을 제공, 보호 및 모니터링하는 오픈 소스 클라우드 네이티브 솔루션
  • 쿠버네티스 환경에서 Cilium은 포드 간 연결을 제공하는 네트워킹 플러그인 역할을 합니다. 네트워크 정책 적용 및 투명한 암호화를 통해 보안을 제공하며, Cilium의 Hubble 구성 요소는 네트워크 트래픽 흐름에 대한 심층적인 가시성을 제공합니다.
  • eBPF 덕분에 Cilium의 네트워킹, 보안 및 관측 로직을 커널에 직접 프로그래밍할 수 있어 Cilium과 Hubble의 기능을 애플리케이션 워크로드에 완전히 투명하게 적용할 수 있습니다. 이러한 워크로드는 쿠버네티스 클러스터의 컨테이너화된 워크로드가 되지만, Cilium은 가상 머신 및 표준 Linux 프로세스와 같은 기존 워크로드도 연결할 수 있습니다.

대규모 컨테이너 네트워킹 과제 해결

  • 매우 역동적이고 복잡한 마이크로서비스 환경에서 네트워킹을 주로 IP 주소와 포트 기준으로 생각하면 어려움을 겪을 수 있습니다. 기존 네트워킹 도구 구현 방식은 매우 비효율적이며, 조잡한 가시성과 필터링만 제공하고 컨테이너 네트워크의 문제 해결 및 보안 강화에 제약을 가할 수 있습니다. Cilium은 이러한 문제를 해결하기 위해 만들어졌습니다 .
  • Cilium은 처음부터 대규모의 고도로 동적인 컨테이너 환경을 위해 설계되었습니다. 컨테이너 및 쿠버네티스 ID를 기본적으로 이해하고 HTTP, gRPC, Kafka와 같은 API 프로토콜을 파싱하여 기존 방화벽보다 더 간단하고 강력한 가시성과 보안을 제공합니다.

eBPF 기반으로 구축

  • Cilium은 eBPF를 기반 엔진으로 사용하여 Kubernetes와 같은 플랫폼에서 마이크로서비스를 실행하도록 최적화된 네트워킹 스택을 만듭니다. eBPF는 Cilium의 강력한 보안 가시성과 제어 로직을 Linux 커널에 동적으로 삽입할 수 있도록 합니다. eBPF는 Linux 커널을 프로그래밍 가능하게 만들어 Cilium과 같은 애플리케이션이 Linux 커널 하위 시스템에 연결하여 사용자 공간 애플리케이션 컨텍스트를 커널 작업으로 가져올 수 있도록 합니다.
  • eBPF는 Linux 커널 내부에서 실행되므로 Cilium 보안 정책을 애플리케이션 코드나 컨테이너 구성을 변경하지 않고도 적용하고 업데이트할 수 있습니다. eBPF 프로그램은 Linux 네트워크 데이터 경로에 연결되며 패킷이 네트워크 소켓에 들어올 때 네트워크 정책 규칙에 따라 패킷을 삭제하는 데 사용될 수 있습니다.

Cilium eBPF

  • eBPF는 이전에는 불가능했던 수준의 세분성과 효율성을 통해 시스템과 애플리케이션에 대한 가시성과 제어를 제공합니다. 애플리케이션을 변경할 필요 없이 완전히 투명한 방식으로 이를 수행합니다. Cilium은 효율적인 ID 개념을 계층화하고, 메타데이터 레이블과 같은 쿠버네티스 컨텍스트 정보를 eBPF 기반 네트워킹 로직에 통합하여 eBPF의 강력한 기능을 활용합니다.

Categories:

Updated: