
쿠버네티스 클러스터 내의 컨테이너들이 네트워크 상에서 서로 통신할 수 있도록 네트워크 기능을 제공하는 표준 인터페이스
CNI는 네트워크 플러그인 시스템으로, 네트워크 리소스의 할당과 관리를 담당
CNI의 주요 역할
1. IP 주소 할당: 각 컨테이너에 고유한 IP 주소를 할당
2. 네트워크 정책 적용: 네트워크 보안정책을 적용
3. 네트워크 격리: 서로 다른 네임스페이스에 있는 컨테이너 간의 네트워크 격리 지원
Kubernetes에서 사용 가능한 CNI
CNI는 kubelet 서비스 실행 시 설정 가능
## CNI에서 사용가능한 바이너리(default path)
controlplane /opt/cni/bin ➜ ls
bandwidth dhcp firewall host-device ipvlan macvlan ptp static tuning vrf
bridge dummy flannel host-local loopback portmap sbr tap vlan
## 설치되어 있는 CNI의 정보 및 설정 관련 파일 (default path)
controlplane /etc/cni/net.d ➜ cat 10-flannel.conflist
{
"name": "cbr0",
"cniVersion": "0.3.1",
"plugins": [
{
"type": "flannel",
"delegate": {
"hairpinMode": true,
"isDefaultGateway": true
}
},
{
"type": "portmap",
"capabilities": {
"portMappings": true
}
}
]
}
https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/