Project Calico(프로젝트 켈리코)는 컨테이너, VM, 베어메탈 환경을 위한 네트워크 및 보안 정책을 제공하는 솔루션입니다. 네트워크 레이어에서 리눅스 커널의 L3 기반 라우팅과 iptables를 이용하여 높은 성능과 단순한 아키텍처를 구현합니다.
초기에는 BGP(Border Gateway Protocol) 기반의 고성능 네트워킹으로 주목받았으며, 현재는 eBPF 기반 기능도 지원합니다.
| 기능 | 설명 |
|---|---|
| CNI 플러그인 | Kubernetes 클러스터에서 Pod-to-Pod 통신 제공 |
| 네트워크 정책 | 네임스페이스, 라벨 기반 세밀한 접근 제어 |
| 보안 그룹 | Workload 간 L3/L4 수준의 방화벽 기능 |
| eBPF 지원 | 고성능 커널 수준 트래픽 처리 |
| IPAM | IP 주소 관리 기능 제공 |
| NATless Routing | NAT 없이도 Pod 간 통신 가능 |
| Windows 지원 | Windows Node용 네트워킹도 지원 |
| 다중 호스트 지원 | 물리적으로 분리된 호스트 간에도 안정적인 통신 제공 |
간단한 Kubernetes 클러스터에서 켈리코가 동작하는 구성 예시는 다음과 같습니다.
| 항목 | Calico | Flannel | Cilium | Weave |
|---|---|---|---|---|
| 동작 방식 | L3 라우팅 + BGP/eBPF | VXLAN 오버레이 | eBPF 기반 | 브리지 기반 |
| 성능 | 매우 우수 (Native Routing) | 중간 | 우수 | 낮음 |
| 보안 정책 | 지원 (K8s NetworkPolicy) | 일부 제한 | 강력한 eBPF 기반 | 제한적 |
| 복잡도 | 중간 (BGP 설정 필요 시) | 매우 간단 | 중간 | 간단 |
| eBPF | 지원 | 미지원 | 완전 지원 | 미지원 |
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/calico.yaml 설치 후에는 아래와 같은 리소스들이 생성됩니다:
1. 타입스크립트 개요 타입스크립트(TypeScript)는 마이크로소프트(Microsoft)가 개발한 자바스크립트(JavaScript)의 상위 집합(Superset) 언어입니다.즉, 자바스크립트에 정적 타입(Static Type)을 추가하고,…
윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…
안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…
1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…