flannel的革命性的变化是在哪里呢?

无数的网络方案的书籍上来其实就先告诉你网络namespace的事情,你似乎是懂了,复杂的网络namespace,复杂的网桥,veth设备,照着书上的操作走了一遍,貌似是懂了,但是总赶脚哪里没弄明白。没弄明白的点是这个服务是怎么暴露给集群中的其他的服务使用的

你可以说,做一个端口映射就好了,但是吊诡的是:比如我台物理机是:11.101.49.111,我在集群内服务暴露的接口是4819,然后到了单机上之后,用一个端口映射到网络namespace中的80端口,从技术上好像是可以实现的,但是我就想问:这里网络namespace的作用是啥,不管怎么样都要消耗掉宿主机上的4819端口,为啥偏要加一层网络的namespace。所以这里是解释不通的,你可以说加一层namespace可以控制流量的的,但是这个说服的力度是不够的,因为直接在宿主机上也可以做同样的事情,所有的这些书籍都是从技术的角度去分析,读者读起来,很容易一叶障目不见泰山的。

其实veth,就是个玩具,这些参考书上的信息完全没有把veth的潜能完完全全给挖掘出来,本质上,在单机上玩来玩去都是一个扁平的网络,也就是说即便是做了网络的隔离,这个隔离也走不出单机。真正的虚拟网络是不同机器上的网络namespace都是打通的如果你能想到这一点,那么前面所有的疑惑基本都是可以解开的

好了,分析整个网络能够分析到这个层面,再去看根据flannel去吃透虚拟网络:

真正想着吃透虚拟网络,还是要看flannel,是这种overlay网络的机制,是直接借助当前的物理网络,这套网络和当前的物理网络完全是平行的两套网络,这套网络也需要提供一个网关这样的角色,如果要访问物理机的话,

原文地址:https://www.cnblogs.com/honpey/p/15145599.html