파드 네트워크 구조
- 쿠버네티스는 도커와 다르게 파드 단위로 컨테이너를 관리하기 때문에 하나의 파드에 속한 컨테이너들은 같은 IP를 갖게됩니다.
- 파드에 속한 컨테이너들은 veth0 하나를 공유합니다.
- 파드의 veth0은 pause 컨테이너 네트워크 네임스페이스에 속한 장치로, 같은 파드안 다른 컨테이너들은 pause 컨테이너 네트워크 네임스페이스를 공유해 사용합니다.
- pause 컨테이너가 변하지 않으면 사용자 컨테이너들은 재시작 하더라도 veth0에 할당된 IP를 사용하고 반대로, pause 컨테이너에 문제가 생기면 veth0을 이용할 수 없으므로 다른 사용자 컨테이너가 성장이더라도 네트워크 통신을 할 수 없습니다.
- 같은 파드 안의 컨테이너는 로컬 IP 주소로 서로 통신이 가능합니다.
멀티 노드 파드 네트워크 구조
위 그림은 CNI 기반의 멀티 노드 파드 네트워크로 파드 IP가 호스트별로 다른 상태입니다.
- 할당된 파드 IP를 호스트의 인터페이스를 거쳐 다른 호스트로 보내고 받기 위해서는 호스트 네트워크 네임스페이스의 각종 네트워크 기능들인 iptables, 커널 라우팅, 터널링, 브리지 등을 사옹해야 하는데 이 역할을 하는 것이 쿠버네티스 CNI 입니다.
- 라우터/게이트웨이는 특정 CNI가 커널 라우팅 기능과 동적 라우팅 기능으로 외부 라우터에 각 호스트 하우팅을 정의해둔 것으로 외부 라우터를 사용하면 기존 네트워킹 환경을 활용할 수 있다는 장점이 있습니다.
- 하지만, 컨테이너 라우팅까지 고려한 네트워키 설계가 필요하다는 단점이 있습니다.
이미지 출처 : https://arisu1000.tistory.com/27850
'Docker & Kubenetes' 카테고리의 다른 글
쿠버네티스 Pod 배포 및 Upgrade 전략 (0) | 2023.10.04 |
---|---|
쿠버네티스 Pod 배포 ( Taint & Toleration & Cordon & Drain ) (0) | 2023.09.11 |
쿠버네티스 볼륨 PV 와 PVC (0) | 2023.09.04 |
쿠버네티스 역할 기반 접근 제어 (RBAC) (0) | 2023.09.01 |
쿠버네티스 서비스와 인그레스(SVC, Ingress) (0) | 2023.08.21 |