티스토리 뷰

Network Plugin이란 무엇인가

Plugin 이란 컴퓨터에 추가 프로그램을 설치하여 특정 기능을 수행할 수 있도록 하는 소프트웨어이다. 쿠버네티스의Netwrok Plugin이란 비슷한 맥락으로, 쿠버네티스에 추가적인 네트워크 플러그인을 설치하여, 네트워크 관련 기능을들을 수행한다.

 

Network Plugin 필수사항

이 네트워크 플러그인을 이용하기 위해서는

  1. NetworkPlugin Interface: 파드 네트워킹을 구성하고, 정리함
  2. kube-proxy 를 위한 지원: iptables을 가능하게 해주는 container traffic이 필요함

 

Netwrok Plugin의 종류

 

컨테이너 네트워크 인터페이스(CNI)란 무엇인가?

CNCF프로젝트인 CNI는 지원되는 여러 플러그인과 함께 Linux 컨테이너에서 네트워크 인터페이스를 구성하기 위한 플러그인을 작성하기 위한 사양(specification) 및 라이브러리로 구성된다.

CNI는 네트워크 연결에만 관련이 있으며, 해당 컨테이너가 삭제되면 관련 할당된 자원을 삭제시킨다.

 

컨테이너별로 네트워킹 환경이 매우 다를수 있기 때문에, 컨테이너 런타임과 오케스트레이터가  CNI를 사용하여 네트워크 계층을 플러그인을 만들어 이와 관련제 문제를 해결할 수 있다.

 

쿠버네티스의  CNI

CNI 플러그인은 Kubelet --network-plugin=cni옵션을 전달하여 선택한다 . 

Kubelet은 --cni-conf-dir(기본값 /etc/cni/net.d) 에서 파일을 읽고 해당 파일 의 CNI 구성을 사용하여 각 포드의 네트워크를 설정한다. 

CNI 구성 파일은 CNI 사양과 일치 해야 한다. 여기서 참조하는 모든 필수 CNI 플러그인은 --cni-bin-dir(기본값 /opt/cni/bin) 에 있어야 한다.

/opt/cni/bin# ls

bandwidth  dhcp      flannel      host-local  loopback  portmap  sbr     tuning
bridge     firewall  host-device  ipvlan      macvlan   ptp      static  vlan

 

Kubebet

Linux에서만 사용할 수 있는 매우 기본적이고 간단한 네트워크 플러그인으로, 그 자체로는 노드 간 네트워킹 또는 네트워크 정책과 같은 고급 기능을 구현하지 않는다. 일반적으로 노드 간 또는 단일 노드 환경에서 통신을 위한 라우팅 규칙을 설정하는 클라우드 공급자와 함께 사용된다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함