上一篇文章广角-聊聊Underlay发出来后,有小伙伴私信联系我,说非常喜欢这张大图,让他既能从整体角度看到Pod、VM、物理机、机架、可用区、数据中心之间的宏观关系,又能对比感知到可用区A和可用区B里容器网络实现方式的不同。
同时他跟我提了几个建议。我按照他的建议把广角大图完善了一下,主要是下几个方面:
- 突出了kubelet和CNI的位置,在图中,它们和Pod一样,都是进程,但它们不是以Pod或容器方式运行。
- 在可用区B里,bridge和eth0之间加入了vtep,用以表示traffic从bridge出来后,由vtep完成二层数据帧(Ethernet frame)的封装和解封装操作。
- 颜色调整。这个部分我还会继续微调,主要是为了突出重点的同时能兼具美观。
下面是这张图没有画出来的部分,我先文字说明,后续我尽量(慢慢)补上。
- 限于画板大小,在可用区A的Open vSwitch上我没有把网络接口(如图中标明eth0字样的小方块)画出来,但从便于理解的角度,是应该要把它们画出来的。我再努把力,说不定可以挪出空间出来。
- 可用区A里Pod网卡和其所在的VM网卡是直接插入到运行于物理机上的Open vSwitch的,而可用区B里,Pod是通过VETH+Bridge方式完成了容器组网。但实际上严格来说还有另外一种方式,即既不通过Open vSwitch也不通过vetch+bridge,而是Pod的veth另一端直接使用Node的网络栈,此时对应的是主机间路由模式。从完整性角度,是应该要把它画出来的,但专家说主机路由模式其实是Underlay模式的一个特例,所以我就暂时偷个懒。