이전 포스팅에서 제대로 파악하지 못했던 네트워크의 짝을 찾아본다.

제대로 이해하기가 어렵다. Skydive를 통해서 네트워크 토폴로지를 불러와본다.

실제 운영 중인 virt-launcher이다. cali785~는 calico를 통해 생성된 veth interface이다. 이 인터페이스는 노드에 존재한다.
[root@s1 ~]# ifconfig | grep 786
calic7070017865: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1440
그리고 얘는 virt-launcher의 eth0번과 페어다. 이제 슬슬 감이 잡힌다. eth0은 k6t-eth0번과 layer2로 묶여있고 k6t-eth0은 브릿지이다. 얘는 vnet0에게 패킷을 전달한다.
[root@12f4ff47 /]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
link/ipip 0.0.0.0 brd 0.0.0.0
4: eth0@if496: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1440 qdisc noqueue master k6t-eth0 state UP group default
link/ether 2e:fa:47:5c:de:ba brd ff:ff:ff:ff:ff:ff link-netnsid 0
5: k6t-eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1440 qdisc noqueue state UP group default
link/ether 2e:fa:47:5c:de:ba brd ff:ff:ff:ff:ff:ff
inet 169.254.75.10/32 brd 169.254.75.10 scope global k6t-eth0
valid_lft forever preferred_lft forever
6: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1440 qdisc pfifo_fast master k6t-eth0 state UNKNOWN group default qlen 1000
link/ether fe:fa:47:de:19:26 brd ff:ff:ff:ff:ff:ff
vneth0 인터페이스는 VM과 연결되어 있다(eth0번). 따라서.... 네트워크 시에는 다음과 같은 플로우로 들어가는 것이다. 노드에서 VM에 접근하려고 할 때
node interface -> calico -> Pod의 calico veth -> 브릿지 -> vnet0(tap) -> VM 인터페이스
보기엔 쉬워보이는데 이해하긴 엄청 어렵다. skydive 아니면 힘들었을듯..^^... 본 블로그에는 조금 더 정리해서 올려야겠다.
'HS > Round A Round' 카테고리의 다른 글
Round A Round - 6 - Containerized-Data-Importer (0) | 2020.04.07 |
---|---|
Round A Round - 5 - 메이플에선 갑질하는 내가 회사에선 패치 찐따?! (0) | 2020.04.03 |
Round A Round - TEST (1) | 2020.04.01 |
Round A Round - 3 - Kubevirt Network (0) | 2020.03.30 |
Round A Round - 2 (0) | 2020.03.28 |