Skip to content
Tools/쿠버네티스 네트워킹 & 서비스 메시 실습

쿠버네티스 네트워킹 & 서비스 메시 실습

K8s Networking & Service Mesh Lab

브라우저 시뮬레이션으로 배우는 쿠버네티스 네트워킹 — 평평한 파드 네트워크와 CNI, 서비스와 kube-proxy, 인그레스, Istio/Envoy 서비스 메시, 네트워크 정책까지. 서버 없이 클릭하며 익힙니다.

쿠버네티스 네트워킹을 브라우저에서 눈으로 배우는 실습 도구입니다. 워크로드를 다루는 K8s 놀이터와 짝을 이뤄, 여기서는 파드 네트워크·서비스·인그레스·서비스 메시·네트워크 정책을 다룹니다.

🧪실제 클러스터가 아니라 브라우저 안의 시뮬레이션입니다. 패킷 경로·VIP·라우팅·트래픽 분배는 단순화된 모델로 계산해 보여줍니다. YAML/kubectl은 실제와 동일한 표기입니다.

평평한(flat) 파드 네트워크: 모든 파드는 NAT 없이 서로 직접 통신 가능한 라우팅 가능 IP를 하나씩 받습니다. 파드 두 개를 클릭해 패킷 경로를 확인하세요.

CNI 플러그인:

Flannel: 가장 단순한 CNI. VXLAN으로 노드 간 파드 트래픽을 UDP:8472 패킷 안에 캡슐화(오버레이)합니다. 설정이 쉬운 대신 캡슐화 오버헤드가 있습니다.

파드를 두 개 클릭하면 패킷 경로가 애니메이션됩니다.

🖥️ node-110.244.0.0/24
└─ 브리지 cni0 ── 호스트 eth0
🖥️ node-210.244.1.0/24
└─ 브리지 cni0 ── 호스트 eth0

🔌 CNI 스펙 — 파드는 이렇게 연결됩니다

kubelet → CNI 플러그인 ADD 호출

  1. 1kubelet이 파드용 네트워크 네임스페이스를 만듭니다.
  2. 2kubelet이 CNI 플러그인을 ADD 커맨드로 호출합니다(설정은 /etc/cni/net.d).
  3. 3플러그인이 veth 페어를 만들어 한쪽은 파드 네임스페이스의 eth0, 다른 쪽은 호스트의 브리지(cni0)에 연결합니다.
  4. 4플러그인이 IPAM으로 파드에 IP를 할당하고 라우트를 설정한 뒤 결과를 반환합니다.

💡 veth 페어

  • 쿠버네티스 네트워크 모델: 모든 파드는 NAT 없이 서로 통신할 수 있어야 하고, 파드는 자기 IP를 그대로 본인 IP로 인식합니다.
  • 같은 노드의 파드끼리는 리눅스 브리지(cni0)를 통해 로컬로 통신합니다 — 노드 밖으로 나가지 않습니다.
  • CNI는 스펙입니다. kubelet이 플러그인을 ADD/DEL 커맨드로 호출해 파드 네트워크를 연결/해제합니다.
  • 플러그인마다 노드 간 통신 방식이 다릅니다: Calico(BGP L3 라우팅), Cilium(eBPF), Flannel(VXLAN 오버레이).