kubernetes – 剖析2层/3层虚拟化网络原理

最近我录制了2个视频,分别介绍了kubernetes的2层虚拟化方案和3层虚拟化方案,应该可以帮助大家快速的理解其本质。

2层方案

2层本质是pod和node的ip同网段。

这就要求在物理2层,sdn需要能够代答pod ip的arp请求,将其mac解析为pod所在node的mac地址,从而通过2层网络打通流量。

3层方案

3层方案则pod和node ip不同,其本质是在node下发pod ip的路由规则,令pod ip可以物理3层送达pod所在node。

通常我们node不会跨网段,此时实际还是2层互通能力。

一旦node跨网段则需要走3层路由器来跨网,此时3层方案才会体现其优势。

各自的缺点

2层方案因为需要ARP代答(欺诈),所以容易坑在2层ARP各种问题,目前我接触到的就是POD IP复用,导致mac地址缓存错误问题。

3层方案会遇到路由表规模问题,默认需要在每个node下发集群所有pod的路由规则,数量很多。此时可以通过给每个node控制一个子网段来减少路由规则的数目。

如果文章帮助您解决了工作难题,您可以帮我点击屏幕上的任意广告,或者赞助少量费用来支持我的持续创作,谢谢~