![](https://velog.velcdn.com/images/chan9708/post/b0de8be1-04a2-40b7-b069-67f0f1b35937/image.jpg)
Container Network
![](https://velog.velcdn.com/images/chan9708/post/2342b136-db9a-4082-b8b8-3fac80580971/image.png)
veth
![](https://velog.velcdn.com/images/chan9708/post/a2574e74-9e51-48da-b9c8-a23e6ccd077a/image.png)
- Veth
- 가상 이더넷 인터페이스
- 항상 쌍(pair)로 생성되어 연결된 상태를 유지한다.
- 네트워크 인터페이스 간의 터널 역할
Bridge
![](https://velog.velcdn.com/images/chan9708/post/c20bcc19-18a2-4cf5-b5f8-b4a2127a6f52/image.png)
![](https://velog.velcdn.com/images/chan9708/post/f0ab4e22-2564-4351-be79-0ca29e5beb1f/image.png)
컨테이너는 호스트와 네트워크 네임스페이스 격리하여 호스트 - 컨테이너 간 veth pair 생성 연결
각 컨테이너의 veth들은 Bridge로 연결하여 같은 Bridge에 연결된 컨테이너 간 통신이 가능하고 컨테이너 네트워크 외부로 통신 시 Bridge를 경유한다.
Pod 네트워크
![](https://velog.velcdn.com/images/chan9708/post/a97f0553-dd9d-4b92-8c82-03158afeed03/image.png)
![](https://velog.velcdn.com/images/chan9708/post/078110e2-7d8d-4325-891b-e7604f4b2cc1/image.png)
![](https://velog.velcdn.com/images/chan9708/post/094a9028-ca11-4f11-8b40-c30a562b029a/image.png)
K8S에서는?
![](https://velog.velcdn.com/images/chan9708/post/515041cd-8ae3-4698-9012-92c648f44df2/image.png)
여러 개의 노드로 구성된 K8S 클러스터에서는?
![](https://velog.velcdn.com/images/chan9708/post/531be209-410f-4452-bc44-7bef69fc4aab/image.png)
![](https://velog.velcdn.com/images/chan9708/post/db026961-8269-4437-ae45-b08af1bb1221/image.png)
따라서 어떻게 K8S Pod 네트워크를 구성하는가?
![](https://velog.velcdn.com/images/chan9708/post/a0aa0cee-8b3c-454a-b214-47d6ef13b8d6/image.png)
- Pod들은 각자 고유의 IP를 가진다.
- 클러스터 내의 모든 Pod들은 NAT 없이 서로 통신이 가능하다.
- 노드의 Agent들은 해당 노드의 모든 Pod와 통신이 가능하다.
CNI 종류
- Flannel
- Calico
- Cilium
- Weave Net
- AWS VPC CIN For K8S
![](https://velog.velcdn.com/images/chan9708/post/00f547e0-46f9-4ade-90e4-4d80c69ac453/image.png)
![](https://velog.velcdn.com/images/chan9708/post/79fb1445-bf7f-40ae-8b60-17d77dcbffce/image.png)
VXLAN 캡슐화 과정
![](https://velog.velcdn.com/images/chan9708/post/88636f27-0289-4542-8228-3e900a09afca/image.png)
![](https://velog.velcdn.com/images/chan9708/post/deb546e7-4c4a-40c6-93d2-845bb0c982d1/image.png)
![](https://velog.velcdn.com/images/chan9708/post/7324db9c-6c24-4c79-a1f3-b1ea55ec4a25/image.png)
![](https://velog.velcdn.com/images/chan9708/post/af14e238-42ee-462d-8003-ef70ec1756c9/image.png)
![](https://velog.velcdn.com/images/chan9708/post/41bbc7e7-797d-4575-9807-2152e130ea73/image.png)
Flannel 기능
- Flannel CNI의 역할
- 호스트에 VXLAN 생성 및 Overlay network 구성
- 호스트마다 IP subnet 할당
- Subnet 내에서 Pod IP 부여
- Routing table 업데이트
- ARP, FDB 관리
출처
kubernetes 네트워크 이해하기