CNI (Container Networking Interface)

zuckerfrei·2024년 1월 29일
0

Kubernetes

목록 보기
51/63

네트워크 네임스페이스와 도커 네트워크의 작동 방식은 거의 유사함

다른 네트워크 솔루션(rkt, mesos, k8s)도 같은 방식으로 작동함

통일 필요성

모두 같은 네트워크 문제를 해결하기 위해 비슷한 방식으로 접근하는데, 왜 다른 솔루션이 존재하는걸까? 모두가 따를 수 있는 한 가지 방식으로 코딩하여 만들면 어떨까?

→  예를 들어 ‘브릿지’라는 프로그램으로 컨테이너 네트워크를 관리하며, rkt 과 k8s 같은 솔루션이 브릿지 프로그램을 사용하여 네트워킹 구성 작업을 한다.

통일시키기 위해 CNI가 탄생함

cni : 컨테이너 런타임 환경에서 네트워킹 문제를 해결하기 위해 프로그램이 어떻게 개발되어야 하는지 정의하는 표준의 집합

여기서 말하는 프로그램=플러그인 이고, 위에서 언급한 브릿지 프로그램도 이 플러그인의 일부임

cni는 플러그인이 어떻게 개발되어야 하는지 컨테이너 런타임이 어떻게 플러그인을 호출해야 하는지 정의한다.

CNI에서 지원하는 플러그인 종류

bridge, vlan, ipvlan, macvlan, windows

dhcp, host-local

weave, flannel, cilium, nsx …

다만 도커는 여기 해당하지 않음. 도커는 CNM(container network model) 이라는 자체 표준으로 컨테이너 네트워크 문제를 해결한다.

cni와는 유사하지만 차이 존재해서 cni 플러그인으로 사용할 수 없다.

profile
무설탕 음료를 좋아합니다

0개의 댓글