Kubernetes - CNI란?

brillog·2023년 8월 13일
0

Kubernetes

목록 보기
4/11

Pod에 할당되는 IP 주소는 Internal(내부) IP이며 노드 내에서 Pod끼리는 이 내부 IP로 통신합니다.

Pod 내에는 여러 개의 컨테이너가 존재할 수 있는데 Pod 내 컨테이너들은 Pod의 IP를 할당받기 때문에 Pod 내에 여러 개의 컨테이너가 있더라도 이 컨테이너들은 모두 같은 IP를 할당받게 됩니다. 따라서 Pod 내 컨테이너끼리는 localhost로 통신합니다.

Pod Network

Pod의 IP는 앞서 말했듯 내부 IP이기 때문에 노드 밖에서는 보이지 않습니다. 따라서 노드가 여러 개인 멀티 노드 클러스터 환경에서는 다른 노드에 있는 Pod끼리 통신할 수 없습니다. 이 문제를 해결해 주는 것이 바로 CNI 플러그인입니다.

2017년 5월 23일에 CNCF에 합류하였으며 'Container Network Interface'의 약자로 컨테이너 간 네트워킹을 제어할 수 있는 플러그인을 만들기 위한 표준입니다.

CNI

CNI 플러그인을 사용하면 위와 같은 내부 네트워크가 자동으로 구성되기 때문에 Service 없이도 Pod 간 통신이 가능합니다.

현재 지원되는 CNI 3rd party 플러그인의 종류는 아래와 같습니다. (23년 7월 기준)

  • Project Calico
  • Weave
  • Contiv Networking
  • SR-IOV
  • Cilium
  • Infoblox
  • Multus
  • Romana
  • CNI-Genie
  • Nuage CNI
  • Silk
  • Linen
  • Vhostuser
  • Amazon ECS CNI Plugins
  • Bonding CNI
  • ovn-kubernetes
  • Juniper Contrail / TungstenFabric
  • Knitter
  • DANM
  • VMware NSX
  • cni-route-override
  • Terway
  • Cisco ACI CNI
  • Kube-OVN
  • Project Antrea
  • OVN4NFV-K8S-Plugin
  • Azure CNI
  • Hybridnet
  • Spiderpool

Reference

개인적으로 공부하며 작성한 글로, 내용에 오류가 있을 수 있습니다.

profile
Cloud & DevOps ♡

0개의 댓글