Skip to content

Latest commit

 

History

History
42 lines (20 loc) · 2.25 KB

cni.md

File metadata and controls

42 lines (20 loc) · 2.25 KB

EKS CNI

CNI는 Container Network Interface의 약어로 컨테이너간 네트워크 통신을 제어할 수 있는 플러그인을 만들기 위한 표준이다.

쿠버네티스는 파드의 IP할당과 네트워크 설정을 CNI에게 위임하고 있다.

그리고 AWS는 VPC CNI를 개발했고 EKS는 해당 CNI를 사용하고 있다.

**VPC기능(security group, vpc flow 등)**을 사용할 수 있는 것이다.

EKS를 설치하면 자동으로 VPC CNI 파드가 생성이 된다. DeamonSet형태로 생성되며 이름은 aws-node다.

kubectl -n kube-system get ds aws-node를 입력해서 확인해보면

이렇게 띄워져 있는 것을 확인할 수 있다.

VPC CNI 기능

VPC CNI의 핵심 기능은 파드 IP를 할당하고 파드간 통신을 담당한다.

EKS가 파드에 IP를 할당하는 방식

EKS는 생성된 파드에 IP를 할당하는 방식을 알아보자 VPC CNI는 파드에 아이피를 할당할 때 노드 속 서브넷 IP 대역을 할당한다. nodeA의 CIDR이 10.0.10.0/24라면 nodeA의 파드의 아이피는 10.0.10.0/24 대역에 속하게 된다.

CNI 관점이 아닌 AWS의 관점으로 할당 과정을 살펴보게 된다면, VPC CNI가 할당한 IP는 결국 ENI에 IP가 할당 된 것이다.

AWS블로그를 참고해서 동작 과정을 살펴보면 VPC CNI에 있는 L-PAM 데몬이 IP를 할당하게 된다.

[[EKS]]