Ssoon
[2주차] EKS Networking - Secondary IP mode 본문
CloudNet@ 팀의 AWS EKS Workshop Study 2주차 정리입니다.
CNI (Container Network Interface)
- Kubernetes 클러스터에서 사용되는 네트워킹 플러그인
- 각 컨테이너에 IP 주소를 할당하고 컨테이너 간의 통신을 위해 네트워크 인터페이스를 설정
VPC CNI
EKS는 쿠버네티스 Pod 네트워킹을 구현하기 위해 공식적으로 VPC CNI 플러그인을 지원
CNI Binary + IPAMd
CNI Binary
- Pod 간 통신을 활성화하도록 Pod 네트워크를 설정
- 새 Pod가 node에 추가되거나 기존 Pod가 node에서 제거될 때 kubelet에 의해 호출
IPAMd (IP Address Management demon)
- node 에서 ENI 관리
- 사용 가능한 IP 주소 또는 prefix 의 Warm Pool 유지
CNI 플러그인과 L-IPAM 간 프로세스 간 통신
- 새 Pod가 node에서 스케줄링되면 kubelet은 CNI 바이너리를 호출합니다.
- CNI 바이너리는 L-IPAMD(Local IP Address Manager)를 호출하여 새 Pod의 IP 주소를 가져옵니다.
Warm Pool
- Warm Pool의 ENI 및 IP 주소 수는 WARM_ENI_TARGET, WARM_IP_TARGET, MINIMUM_IP_TARGET 이라는 환경 변수를 통해 구성됩니다.
WARM_ENI_TARGET
- 데몬이 준비 상태로 유지해야 하는 ENI 수 (기본값은 1)
WARM_IP_TARGET
- 미리 할당하고 유지할 IP 주소 수
MINIMUM_IP_TARGET
- 항상 할당할 최소 IP 주소 수
VPC CNI의 기본 모드 : Secondary IP mode
- Worker Node에 aws-node라는 Daemonset으로 배포
- 보조 ENI는 서브넷에서 IP 주소를 예약합니다.
EKS VPC CNI Plugin Architecture
1. 노드를 찾아 Pod을 할당
2. kubelet 에서 VPC CNI 으로 Pod 에 할당될 IP 요청
3. VPC CNI 에서 L-IPM 으로 새로운 Pod 에 할당될 IP 요청
4. L-IPAM 은 VPC CNI로 새로운 Pod 에 할당될 IP 반환
5. Pod에 대한 네트워크 네임스페이스를 설정
6. VPC CNI 에서 kubelet 으로 Pod 에 할당될 IP 반환
7. 새로운 Pod에 IP 할당
IP 주소 풀이 모두 사용되면 플러그인은 자동으로 다른 ENI(eth2) 를 인스턴스에 연결하고 다른 보조 IP 주소 집합을 해당 인터페이스에 할당합니다
Node 에 배포할 수 있는 최대 Pod 수
(인스턴스 유형에 대한 네트워크 인터페이스 수 × (네트워크 인터페이스당 IP 주소 수 - 1)) + 2
'AWS EKS Workshop Study' 카테고리의 다른 글
[2주차] EKS Networking - Custom configuration mode (0) | 2023.05.04 |
---|---|
[2주차] EKS Networking - Prefix Mode (0) | 2023.05.04 |
[1주차] Amazon EKS 시작하기 - Nodes - Fargate (0) | 2023.04.25 |
[1주차] Amazon EKS 시작하기 - Nodes - 자체 관리형 노드 (0) | 2023.04.25 |
[1주차] Amazon EKS 시작하기 - Nodes - 관리형 노드 그룹 (0) | 2023.04.25 |
Comments