쿠버네티스/이론

쿠버네티스 네트워크 이해하기

황동리 2025. 2. 12. 17:21
반응형

이번엔 쿠버네티스 네트워크 대해 간략하게 알아보도록 하겠습니다.

쿠버네티스 네트워크

쿠버네티스의 네트워크 다음과 같은 주요 원칙을 따릅니다.

 

1-1. 모든 파드는 고유한 IP를 갖는다.

  • 각 파드는 자체 네트워크 네임스페이스를 가지며, 하나 이상의 컨테이너가 포함됩니다.
  • 파드 내부의 컨테이너는 localhost를 통해 서로 통신 할 수 있습니다.

    그림에서 보는 것 처럼 하나의 파드안에 여러 개의 컨테이너가 있어도 localhost 환경에서 통신을 한다는 의미 입니다.

 

1-2. 모든 파드는 동일한 네트워크 공간에서 서로 통신 가능하다.

  • 파드들은 NAT(Network Address Translation) 없이 서로 통신이 가능 해야 합니다.
  • 이를 위해 쿠버네티스는 CNI(Container Network Interface) 플러그인을 사용하여 네트워크를 설정 합니다.
  • 다만, 파드에서 외부로 통신을 해야할 경우에는 NAT 되어 출발지 IP가 Node의 IP로 변환되어 나가게 됩니다.

 

1-3. 노드와 파드 간 통신이 가능해야 한다.

  • 클러스터 내의 각 노드는 자신이 호스팅하는 파드 뿐만 아니라 클러스터 내의 모든 파드와 직접 통신 할 수 있어야 합니다.
  • 이는 여러 CNI 플러그인을 통해 구현 됩니다.
  • 대표적인 CNI 플러그인으로는 Flannel, Calico, Cilium 등이 있으며, 각각의 방식으로 노드 간 트래픽을 관리 합니다.

 

1-4. 쿠버네티스 네트워크 모델의 동작 방식

1. 새로운 파드가 생성되면 쿠버네티스는 해당 파드에 IP 주소 할당

2. 각 노드는 쿠버네티스 네트워크 정책에 따라 자신이 호스트하는 파드들과 다른 노드에 있는 파드들과의 통신 조정

3. 네트워크 플러그인은 트래픽을 라우팅하거나 오버레이 네트워크를 사용하여 파드 간의 연결 유지

4. 서비스 및 네트워크 정책이 추가적으로 적용되어 트래픽 제어

 


 

다음엔 CNI 플러그인의 동작 방식 등 조금 더 자세하게 알아보도록 하겠습니다.

 

감사합니다.

반응형