전공영역 공부 기록

EKS IPv6 pod간 통신

악분 2024. 3. 31. 14:40
반응형

https://youtu.be/3c78BQ3inxM

 

1. 개요

EKS IPv6 pod간 통신은 IPv4원리와 동일합니다. 같은 노드 pod간 통신은 노드 route table을 사용하고 다른 노드 pod간 통신은 노드 route table과 VPC route table을 사용합니다. IPv4와 IPv6차이점이 있다면, IPv6은 IPv6 route table을 사용합니다.

 

2. 같은 노드 pod간 통신

VPC CNI를 사용하는 EKS에서 같은 노드의 pod간 통신은 노드 route table을 사용합니다. pod가 생성될 때마다 VPC CNI는 노드 route table을 수정합니다.

 

예를 들어 e09b::1 IPv6 IP를 갖는 pod가 e09b::2 pod와 통신할 때, 노드 route table을 참조하여 pod간 통신을 합니다.

같은 노드 pod간 통신

 

노드 route table pod IP 있으니 당연히 pod 통신을 성공합니다.

ping6 2406:da12:336:d303:e09b::2

 

만약, 노드 route table e09b::1 또는 e09b::2 없다면, pod 통신은 실패합니다.

# 노드 route table삭제
sudo ip -6 route add 2406:da12:336:d303:e09b::2 dev eni62b9a6de49e metric 1024 pref medium

# pod에서 ping통신 실패
ping6 2406:da12:336:d303:e09b::2

 

삭제했던 노드 route table 추가하면 다시 pod 통신이 가능합니다.

ip -6 route add 2406:da12:336:d303:e09b::2 dev eni62b9a6de49e metric 1024 pref medium

 

3. 다른 노드 pod간 통신

VPC CNI를 사용하는 EKS에서 같은 노드의 pod간 통신은 노드 route table과 VPC route table을 사용합니다.

 

노드 A에 있는 pod가 노드 B에 있는 pod와 통신을 한다고 가정해보겠습니다.

  1. 노드 A는 route table에 매칭되는 라우팅 규칙이 없어 eth0인터페이스로 트래픽을 흘립니다.
  2. eth0 인터페이스는 AWS VPC route table규칙을 따르기 때문에 노드 B로 트래픽이 전달됩니다.
  3. 노드 B는 받은 트래픽이 route table에 있기 때문에, pod로 트래픽을 전달합니다.

다른 노드 pod간 통신

반응형