• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    해결됨

Amazon VPC CNI 아키텍처와 통신 흐름

24.04.03 18:13 작성 조회수 82

0

안녕하세요. 강의 잘 듣고 있습니다.

한 가지 궁금한 사항이 생겨 질문드립니다.

 

Pod A에서 Pod E로 통신을 할 때 IP 헤더를 덧붙인다고 하셨는데요, Pod E가 Node 3에 있는지 어떻게 알고 헤더를 덧 붙이는 건가요?

 

답변 1

답변을 작성해보세요.

0

안녕하세요. CloudNet@ 팀입니다.

 

먼저 질문하신 사항을 정리해보면... 서로 다른 노드에 위치한 파드가 통신할 때 IP 헤더를 캡슐화하는 것에 대해 어떻게 식별해서 IP 헤더를 붙이는 지에 대한 질문으로 보이는데요.

 

Amazon VPC CNI 통신 흐름이 아닌 Kubernetes Calico CNI 통신 흐름에 대한 질문 같네요.

Amazon VPC CNI 환경은 노드와 파드가 같은 대역으로 별도의 IP 헤더를 캡슐화하지 않으니깐요.

 

Calico CNI 통신 방식은 총 3가지 유형이 있는데요.
Amazon VPC CNI 동작과 대조하는 측면에서 IP-IN-IP 모드로 예를 들어 설명드린 것입니다.

결론부터 말씀드리면 Calico CNI의 IP-IN-IP 방식은 BGP로 Calico에서 관리하는 라우팅 테이블에 의해 파드 간의 정보를 파악하고 경로를 가지고 있으며 이를 통해 IP 헤더를 캡슐화하는 개념입니다.

즉, Calico 관리 라우팅 테이블을 참조해서 IP 헤더를 덧붙이는 것이죠.

 

참고로 Calico CNI의 다른 모드들도 간단히 설명드리자면…

VXLAN 모드도 캡슐화를 통해 동작하는데 IP 레벨이 아닌 MAC 레벨의 캡슐화가 일어납니다. 

그런 측면에서 Calico에서 관리하는 BGP 라우팅 테이블을 사용하지 않아 BGP 동작 없이 Calico 내부적으로 VXLAN 정보를 관리하고 활용합니다.

 

마지막으로 BGP 모드는 별도의 캡슐화 없이 직접적인 통신이 가능합니다. 그 이유는 노드 레벨의 라우팅 테이블에 BGP 라우팅 정보를 모두 가지고 있기 때문이죠.

직접적인 통신으로 오버헤드가 줄어들 수 있겠지만 대규모 환경이라면 노드 입장에서 모든 라우팅을 관리하는 점에 부담이 될 수 있겠네요.

이렇게 다양한 환경 조건에 따라 Calico CNI 통신 방식을 정할 수 있습니다.

 

이에 대비해서 VPC CNI는 캡슐화 없이 직접적인 통신이 가능하며 라우팅 테이블 관리도 AWS VPC 영역에서 관리하기에 여러모로 유연한 통신 환경을 가질 수 있는 것이죠.


답변이 되었나 모르겠네요. 감사합니다 :)

박박박님의 프로필

박박박

질문자

2024.04.04

답변 감사합니다! 이해 했습니다.