用flannel实现跨主机container通信

Posted 4a8a08f09d37b73795649038408b5f

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用flannel实现跨主机container通信相关的知识,希望对你有一定的参考价值。

最近在看kubernetes,看到了网络部分,这部分是集群设计的难点,也是我比较感兴趣的部分。书上提到不同node的container之间通信主要使用flannel,openvswitch等技术,这些技术使各个container在逻辑上处于同一平面,各个container就可以专注于产品的逻辑,不需要考虑底层的网络实现。flannel 使用etcd的watch机制监视/atomic.io/network/subnets和/registry下面所有元素的变化来调整转发策略,同时把container的子网设置到/usr/lib/systemd/system/docker.service.d/flannel.conf,使生成的container的ip符合各自node的子网。

技术图片

上面的原理图非常清晰,但是各个node的flannel0之间的通信有多种机制:VXLAN,UDP,host-gw,还有一些实验性的机制AliVPC,AWS VPC,GCE,IPIP等。

以上是关于用flannel实现跨主机container通信的主要内容,如果未能解决你的问题,请参考以下文章

docker之docker容器flannel模式多网段跨主机通信

Flannel Vxlan 跨节点通信

Docker&K8s---K8s跨宿主机pod通信之Flannel

Docker&K8s---K8s跨宿主机pod通信之Flannel

Docker网络解决方案-Flannel部署记录

Docker网络解决方案-Flannel部署记录