728x90

CNI란?

CNI(Container Network Interface)는 컨테이너 네트워킹을 위한 표준 인터페이스를 정의하는 프로젝트

CNI는 컨테이너 네트워크 인터페이스를 쉽게 확장하고 맞춤화할 수 있게 해주며, 다양한 네트워킹 솔루션과 통합 가능함

CNI는 표준일 뿐, 특정 서비스에 적용하기 위해서는 인터페이스를 구체화하여 서비스에 맞춰 적용해야 함

이를 위해 컨테이너 관리 시스템에서 네트워킹 구성 및 관리를 위한 플러그인 기반의 다양한 프레임워크가 있음

kubernetes Network Plugin (CNI plugin)

네트워크 모델은 각 노드의 컨테이너 런타임에 의해 구현됨

가장 일반적인 컨테이너 런타임은 컨테이너 네트워크 인터페이스(CNI) 플러그인을 사용하여 네트워크 및 보안 기능을 관리함

Network Plugin을 사용하는 가장 큰 이유는 기본제공되는 kubenet 만으로는 서로 다른 노드에 있는 pod의 교차 네트워킹을 지원하지 않기 때문

CNI 플러그인을 설치하면, Kubenet은 사용되지 않음

Calico와 Kubenet 비교

  calico kubenet
네트워크 설정 • Calico는 네트워크 설정을 관리하며, 각 파드에 고유한 IP 주소를 할당함
• IP-in-IP, BGP(Border Gateway Protocol) 등을 사용하여 네트워크를 구성하고, 노드 간 트래픽을 라우팅함
◦ Kubenet은 기본적인 네트워크 설정을 제공하며, 각 파드에 고유한 IP 주소를 할당함
◦ 브리지 네트워크(cbr0)와 veth 페어를 사용하여 파드 간 통신을 설정함

네트워크 정책 • Calico는 강력한 네트워크 정책을 지원하여, 파드 간 및 파드와 외부 간의 트래픽을 세밀하게 제어할 수 있음
• 보안 그룹과 네트워크 정책을 통해 트래픽을 허용하거나 차단함
◦ Kubenet은 기본적인 네트워크 정책만 제공하며, 세밀한 트래픽 제어나 고급 보안 기능을 지원하지 않음
네트워크 기능 • Calico는 고급 네트워크 기능을 제공하며, 대규모 클러스터 환경에서도 높은 성능과 확장성을 보장함
• 네트워크 격리, 암호화, 모니터링 등의 기능을 제공함
◦ Kubenet은 간단한 네트워크 설정과 관리가 가능하지만, 대규모 클러스터 환경에서는 확장성과 성능 면에서 제한적임
728x90

+ Recent posts