1000. 클라우드 네이티브 네트워크 (CNI) - MSA 기반 컨테이너 통신망 도커 쿠버네티스 인터페이스 동적 오버레이 파드(Pod) 연결망 플러그인 아키텍처

핵심 인사이트: 1대의 거대한 쇳덩어리 서버를 100개의 가상머신(VM)으로 쪼갰다. 근데 VM은 OS(윈도우)를 통째로 띄워야 해서 부팅에 1분이 걸려 무겁고 구렸다. "야! 윈도우 OS 빼버려! 0.1초 만에 켜졌다 꺼지는 미니 앱 고치(컨테이너/Pod) 수만 개로 더 잘게 부숴버려(도커, 쿠버네티스 시대)!" 근데 끔찍한 문제가 터졌다. 이 10만 개의 벼룩 같은 컨테이너들이 허공에서 초당 수천 번 생겼다 지워졌다 하는데, 얘네들끼리 어떻게 IP 주소를 주고 랜선을 엮어서 통신하게 만들지? "야! 컨테이너에 랜선을 꽂고 뽑는 규격(명령어)을 딱 1개로 전 세계 통일해버려(CNI)! 캘리코(Calico)든 실리움(Cilium)이든 그 통일된 플러그인 소켓 구멍에 꽂아서 수만 개의 컨테이너 오버레이 망을 0.01초 만에 찍어내라!" 현대 클라우드 혈관의 최종 헌법, CNI다.

Ⅰ. 모놀리식(Monolithic)의 종말과 MSA 컨테이너 혁명

  • 과거 앱은 쇼핑몰 결제, 장바구니, 로그인 기능이 하나의 거대한 덩어리(Monolithic)로 묶여 있어 에러가 나면 1시간 동안 앱 전체가 멈췄습니다.
  • 마이크로서비스 아키텍처 (MSA) 🌟: 결제, 로그인 기능을 '독립된 도커 컨테이너(Container, 초소형 앱 박스)'로 산산이 조각냈습니다. 트래픽이 몰리면 결제 컨테이너만 1,000개로 1초 만에 무한 복제(Scale-out)해 버리는 기적의 쿠버네티스(k8s) 생태계가 클라우드를 장악했습니다.

Ⅱ. 네트워킹 지옥과 CNI(Container Network Interface)의 탄생 🌟

컨테이너 10만 개가 흩어지면서 지옥 같은 통신 난제가 터졌습니다.

  • 문제: A 컨테이너(로그인)가 B 컨테이너(결제)로 패킷을 쏴야 하는데, B 컨테이너는 1초 뒤에 삭제되고 다른 서버 깡통에 IP를 바꿔서 부활합니다(유령 같은 변동성). 이 수만 개의 컨테이너 발밑에 가상의 스위치와 오버레이 터널(VXLAN) 랜선을 누가, 어떻게 0.1초마다 꽂았다 뽑아줄 것인가?

CNI (Container Network Interface)의 절대 헌법

  • 클라우드 네이티브 컴퓨팅 재단(CNCF)이 개판이 된 컨테이너 랜선 꼽기 방식을 1개로 멱살 잡아 통일했습니다.
  • 개념: 쿠버네티스(k8s) 같은 컨테이너 관리자가, 컨테이너가 태어날 때 **어떤 회사의 네트워크 플러그인을 가져오든 똑같은 '명령어(API 규격)'로 가상의 랜선을 꽂고 IP를 할당할 수 있도록 강제해 놓은 '표준 네트워크 연결 소켓 규격'**입니다.

Ⅲ. CNI의 마법 플러그인 3대장 (어떻게 혈관을 엮는가?) 🌟

CNI라는 십자(+) 나사못 규격을 만들어 뒀으니, 회사마다 십자드라이버(플러그인)를 만들어 쿠버네티스에 냅다 꽂기만 하면 수만 개의 컨테이너 거미줄 망이 1초 만에 뚫립니다.

  1. Flannel (플라넬) - "오버레이 터널의 교과서":
    • 가장 심플합니다. 1번 서버의 파드(Pod)와 2번 서버의 파드가 통신할 때, 중간에 물리 스위치가 어찌 생겨 먹었든 쿨하게 무시하고, **둘 사이에 VXLAN 캡슐화(택배 상자 안에 택배 넣기)를 써서 가상의 허공 터널(오버레이)**을 순식간에 뚫어 통신을 잇는 가장 교과서적인 CNI입니다.
  2. Calico (캘리코) - "강력한 BGP 쌩얼 라우팅" 🌟 핵심 🌟:
    • 실무 1짱입니다. Flannel처럼 패킷을 택배 박스에 두 번 싸면 CPU가 낭비됩니다(오버헤드).
    • 캘리코는 택배 박스 포장 따위 안 합니다. 962번의 BGP 라우팅 프로토콜을 이용해, 파드(Pod)의 원래 IP를 쌩얼(Native) 그대로 물리 라우터 장부에 꽂아 넣어버립니다. 가상 터널이 없으니 속도가 미친 듯이 빠르고 극강의 방화벽(네트워크 정책) 성능을 자랑합니다.
  3. Cilium (실리움) - "eBPF 커널 흑마법":
    • 최신 6G/클라우드 끝판왕입니다. 패킷이 쿠버네티스를 거치면 너무 느려집니다. 실리움은 eBPF(커널 우회)라는 흑마법을 써서 리눅스 커널 심장부 바닥에 다이렉트로 통신 룰을 꽂아버려, 찌꺼기 렉을 0으로 만들어버리는 100Gbps 처리용 미친 플러그인입니다.

Ⅳ. 왜 클라우드 네이티브 네트워크인가?

결국 5G 코어망(AMF, UPF)이나 쿠버네티스는 전부 이 CNI 뼈대 위에서 돌아갑니다. 물리적 쇳덩어리 선을 뽑는 게 아니라, YAML 코드 딱 한 줄 apply -f calico.yaml을 치면 전 세계 1만 대 서버 속에 있는 100만 개 컨테이너의 통신 혈관과 방화벽이 1초 만에 살아서 펄떡이게 뛰게 만드는, 21세기 IT 인프라의 궁극의 연금술입니다.

📢 섹션 요약 비유: 기존 가상머신(VM) 통신망이 '방이 100개짜리 고정된 대형 아파트'에 랜선 공사를 튼튼하게 깔아주는 노가다였다면, **클라우드 네이티브 네트워크(CNI)**는 '매 1초마다 1만 개의 1인용 캠핑 텐트(컨테이너)가 펴졌다 접혔다를 무한 반복하는 미친 난민촌'에 전기를 공급하는 흑마법입니다. 텐트가 1초 만에 이동하는데 일일이 전기선을 어떻게 꽂아줍니까? 그래서 **CNI(표준 소켓 규격)**라는 전 세계 공통 '자석형 멀티탭 구멍' 규칙을 정했습니다. 텐트가 허공에서 '뿅' 하고 펴지는 0.01초의 찰나에, 캘리코(Calico)라는 이름의 자동화 배관공 로봇이 전 세계 표준 자석 케이블을 텐트 구멍에 '착' 하고 꽂아주면서 IP 주소표를 이마에 딱 붙여줍니다. 텐트가 폭파되어 사라지면 로봇이 케이블을 즉시 스르륵 회수합니다. 인간(관리자)은 손 하나 까딱 안 해도 수만 개의 캠핑 텐트가 1초마다 펄떡펄떡 살아 숨 쉬며 전 세계와 완벽히 통신(오버레이 라우팅)하게 만드는 자율형 혈관 생성 시스템입니다.