본문 바로가기
Cloud Native/Kubernetes

7-1. [Architecture]: Networking - Pod, Pause Container

by jys275 2026. 1. 31.

지난 시간에는 네트워킹의 전체적인 개요를 훑어봤다면, 이번에는 파드 네트워킹의 심장이라 할 수 있는 Pause 컨테이너캘리코(Calico)의 상세한 동작 원리를 파헤쳐 보겠다.


 

 

 

1. 파드 네트워킹의 기반: Pause 컨테이너

파드를 생성하면 우리가 직접 만든 컨테이너 외에도 Pause 컨테이너라는 녀석이 자동으로 생성된다. 이 녀석이 파드 내 네트워크의 '앵커' 역할을 한다.

  • 네트워크 네임스페이스의 공유: Pause 컨테이너가 고유한 IP와 네트워크 인터페이스(eth0)를 가진 네트워크 네임스페이스를 먼저 생성한다. 쿠버네티스는 이 공간을 파드 내의 모든 컨테이너가 같이 쓰도록 구성해준다.
  • 컨테이너 간 통신: 모든 컨테이너가 동일한 IP를 공유하기 때문에, 컨테이너끼리는 포트(Port)를 통해서만 구분하기만 하면 된다. 서로 localhost로 통신이 가능하다.
  • 호스트와의 연결?: 워커 노드의 호스트 영역(Host Network Namespace)에는 가상 인터페이스(calid12)가 생성되어 Pause 컨테이너의 인터페이스와 1:1로 매칭된다.

 

2. 네트워크 플러그인 비교: kubenet vs Calico

기본 네트워크 구성 방식인 kubenet과 우리가 주로 사용하는 Calico는 인터페이스를 엮는 구조부터 다르다.

 

2-1. kubenet (기본 네트워크)

  • 브리지 구조: 파드의 가상 인터페이스들이 cbr0라는 컨테이너 브리지에 연결되는 구조다.
  • 제약 사항: 브리지의 CIDR 대역은 파드 네트워크보다 낮은 단계로 세팅되며, 한 노드당 최대 약 255개의 IP만 할당 가능하다는 단점이 있다.
  • 라우터 역할: NAT를 통해 파드 대역 트래픽은 브리지로, 그 외는 외부 호스트 네트워크로 보내주는 역할을 한다.

2-2. Calico CNI (실제 실습 환경)

  • 직접 라우팅 구조: 브리지 없이 가상 인터페이스가 라우터에 바로 연결된다.
  • 장점: 더 큰 CIDR 범위를 지원하여 한 노드에 더 많은 파드 IP를 부여할 수 있고, 라우터 수준에서 강력한 보안 기능을 제공한다.

 

3. 노드 간 통신과 오버레이(Overlay) 네트워크

캘리코의 진가는 서로 다른 노드에 있는 파드끼리 대화할 때 나타난다. 이를 위해 IPIPVXLAN 같은 오버레이 네트워크 기술을 사용한다.

 

[실전 흐름] 노드 2의 파드 D → 노드 1의 파드 B 통신 과정

  1. 호출: 파드 D가 목적지 파드 B의 IP(20.111.156.7)로 트래픽을 날린다.
  2. 전달: 트래픽은 라우터를 지나 오버레이 네트워크 층으로 올라간다.
  3. 캡슐화 (Encapsulation): 캘리코는 목적지 IP가 어느 노드에 있는지 알고 있다. 원래의 파드 패킷 위에 노드 1의 호스트 IP를 덮어씌운다(Outer IP). 실제 파드 IP는 안으로 숨겨진다.
  4. 전송: 패킷은 노드 1의 물리 인터페이스(192.168.59.22)로 안전하게 이동한다.
  5. 역캡슐화 (Decapsulation): 노드 1의 오버레이 층에서 겉싸개를 벗겨내고 원래의 파드 IP를 찾아낸다.
  6. 최종 배달: 라우터를 통해 해당 IP를 가진 가상 인터페이스를 찾아 파드 B에게 트래픽을 전달한다.

 

 

 

💡꼬리 질문

Q: 만약 오버레이 네트워크(IPIP/VXLAN) 설정을 끄고 캘리코를 운영한다면, 노드 간 파드 통신은 어떤 방식으로 이루어져야 할까? 이때 네트워크 인프라 팀에 특별히 요청해야 할 사항은 무엇일까?

 

 

결론: 물리 네트워크 장비가 각 노드에 있는 파드 IP 대역을 직접 라우팅할 수 있도록 설정해야 한다.

  1. BGP 모드 활용: 캡슐화 없이 통신하려면 캘리코가 각 노드의 라우팅 정보를 물리 라우터와 교환(BGP 사용)해야 한다.
  2. 물리 장비의 역할: 인프라 팀은 클러스터 외부의 라우터가 "파드 IP 대역은 해당 워커 노드 IP를 거쳐야 한다"는 사실을 알 수 있도록 경로를 등록해 줘야 한다.
  3. 장점: 캡슐화에 따른 성능 오버헤드가 없어지지만, 네트워크 장비가 클러스터 내부의 동적인 변화를 모두 수용해야 하므로 인프라 복잡도가 올라간다.