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은 간단한 네트워크 설정과 관리가 가능하지만, 대규모 클러스터 환경에서는 확장성과 성능 면에서 제한적임 |
'Kubernetes' 카테고리의 다른 글
쿠버네티스 네트워크 - 3. 쿠버네티스 pod 내부 컨테이너 네트워킹 (0) | 2024.07.07 |
---|---|
쿠버네티스 네트워크 - 2. 일반 도커 컨테이너 네트워킹 (0) | 2024.07.07 |
Multi-container pod 패턴 (0) | 2024.05.07 |
쿠버네티스 Config 파일 여러 개 관리 (0) | 2024.04.30 |
쿠버네티스의 마스터노드와 워커 노드 (0) | 2024.04.28 |