1. pod IP生成
分配原则:calico写入etcd,每个节点一个IP段
image.png
image.png
image.png
2. pod路由
-
查看pod的路由
image.png -
查看pod的对端接口
image.png -
查看host的veth
image.png - host端口抓包,可以看到默认路由为对端veth的mac地址回应
tcpdump -nn -i cali119e6efc6a3 -e
image.png
image.png
总结:pod按照calico写入etcd的网络分配IP。k8s建立pod时,在pod中写入了默认路由169.254.1.1,而这个IP并不真实存在,由于veth对二层全通,在pod发送arp路由时,calico将169.254.1.1的mac回复为host上面pod对应的veth的mac,从而完成pod造包。
网友评论