1. CNI란 무엇인가요?

CNI(Container Network Interface)는 컨테이너 런타임과 네트워크 구현체 사이의 인터페이스 표준입니다. CNCF(Cloud Native Computing Foundation)에서 정의하였으며, 주로 Kubernetes, Docker, Containerd 등의 런타임에서 컨테이너 네트워크 설정을 위해 사용됩니다.

특징

  • 컨테이너 생성/삭제 시 네트워크를 동적으로 설정
  • IP 주소 할당, 라우팅, NAT, 방화벽 등 네트워크 기능 설정 가능
  • 플러그인 기반 구조로 다양한 네트워크 모델과 연동 가능

2. 왜 CNI가 필요한가요?

컨테이너는 기본적으로 격리된 환경에서 동작하기 때문에 네트워크 설정이 자동화되고 일관성 있어야 합니다. 특히 Kubernetes처럼 수천 개의 컨테이너가 생성/소멸되는 환경에서는 CNI의 역할이 필수적입니다.

역할설명
IP 할당각 Pod에 고유한 IP 주소 부여
라우팅 설정Pod 간 통신 및 외부와의 통신 경로 설정
플러그인 관리다양한 네트워크 구현체와 연동 (예: Calico, Flannel)
멀티 네트워크 지원Pod에 여러 개의 NIC 부착 가능 (Multus CNI 활용)

3. CNI의 구성요소

CNI는 크게 런타임, CNI 플러그인, CNI 설정 파일, 네트워크 구성 스크립트로 구성됩니다.

구성 요소설명
CNI 플러그인실제 네트워크 작업(IP 할당, 라우팅 등)을 수행하는 실행 파일
설정 파일/etc/cni/net.d/에 JSON 형식으로 존재. 어떤 플러그인을 어떻게 쓸지 정의
런타임Docker, containerd, CRI-O 등이 CNI를 호출
ADD/DEL 명령컨테이너 생성 시 ADD, 삭제 시 DEL 명령을 플러그인에 전달

4. 주요 CNI 플러그인 종류

이름특징
Flannel가장 간단하고 널리 사용됨. Overlay 방식 기반
Calico고성능, L3 기반 라우팅, 네트워크 정책 지원
CiliumeBPF 기반 고성능 네트워크, 보안정책 통합
Weave가시성과 암호화 기능 강화
CanalFlannel + Calico 조합
Multus하나의 Pod에 다중 네트워크 인터페이스 부여
Kube-OVNSDN 기반, OVN(Open Virtual Network) 활용

5. CNI 동작 방식

기본 흐름:

  1. 컨테이너 생성 요청 발생
  2. 런타임이 CNI 설정(JSON) 로드
  3. ADD 명령을 CNI 플러그인에 전달
  4. 플러그인이 IP 주소 할당, 라우팅, 가상 인터페이스 설정
  5. 컨테이너에 네트워크 인터페이스가 부착됨
  6. 삭제 시 DEL 명령 호출

6. CNI 선택 기준

고려 요소설명
규모노드 수가 많다면 Calico, Cilium 추천
보안네트워크 정책이 중요하면 Cilium 또는 Calico
성능로우레벨 성능이 필요하다면 eBPF 기반 Cilium
간단한 구성테스트나 소규모 클러스터에서는 Flannel

7. 보안과 네트워크 정책

CNI는 기본적으로 보안 정책을 자체적으로 지원하지 않음, 하지만 Calico, Cilium은 네트워크 정책을 내장하여 다음과 같은 기능을 지원합니다:

  • Pod 간 트래픽 제한 (Namespace, Label 기반)
  • 이중 허용/차단 정책 (Allow/Deny)
  • L3/L4 레벨까지 제어 가능
  • Audit 및 로깅

8. Kubernetes에서의 CNI 구성 예시

  • Kubernetes에서는 NetworkPolicy 객체를 통해 정책을 CNI와 연결합니다.

9. 정리

항목설명
정의컨테이너 런타임과 네트워크 사이의 인터페이스 표준
핵심 기능IP 할당, 라우팅, 플러그인 기반 네트워크 구성
동작 방식런타임에서 CNI 플러그인을 호출해 네트워크 설정
대표 플러그인Flannel, Calico, Cilium, Multus 등
Kubernetes와의 연동Pod에 네트워크 자동 구성 및 정책 적용
보안 정책Calico/Cilium으로 네트워크 레벨 접근 제어 가능

zerg96

Recent Posts

정보보안기사 실기 합격을 가르는 10문제, 로그 분석부터 RSA 계산까지 풀이 포함

정보보안기사 실기는 개념을 아는 것보다 로그를 읽고, 규칙을 쓰고, 계산하는 힘에서 점수가 갈립니다. 이번 글은…

18분 ago

호르무즈에서 2주간 선박 24척 피격, 원유 수송은 전쟁 전보다 43% 줄었다

호르무즈 해협 뉴스는 이제 '또 공격이 있었다'보다 '얼마나 늘었나'를 봐야 합니다. 이투데이가 FT와 영국해사무역기구(UKMTO) 등을…

19분 ago

추석 연휴에 뚫린 은행들, 해외 법인 보안망까지 다시 짜는 이유

이번 추석 연휴, 은행들은 쉬지 못했습니다. 연휴 기간 금융권에서 대규모 개인정보 유출 사고가 터졌기 때문입니다.…

3시간 ago

서울 집값은 11% 올랐는데 거래는 17% 줄었다, 토허제 1년의 역설

"집 못 팔게 막으면 값이 내려가겠지." 서울 전역이 토지거래허가구역으로 묶이던 1년 전, 이런 기대가 있었습니다.…

3시간 ago

코스피 5연속 급락 뒤 2% 반등, 외국인·기관이 받쳤고 코스닥은 제자리

다섯 거래일 연속 밀린 코스피가 오늘 아침 크게 반등했습니다. 오전 9시 12분 기준 6,165.02로 전…

3시간 ago

네이버 vs 카카오, 한국 AI 전쟁의 진짜 승자는 누구인가?

네이버 하이퍼클로바X vs 카카오 AI — 한국 양대 IT 기업의 AI 전쟁, 기술 역량과 플랫폼…

4시간 ago