第31讲 | 容器网络之Calico:为高效说出善意的谎言
刘超
该思维导图由 AI 生成,仅供参考
上一节我们讲了 Flannel 如何解决容器跨主机互通的问题,这个解决方式其实和虚拟机的网络互通模式是差不多的,都是通过隧道。但是 Flannel 有一个非常好的模式,就是给不同的物理机设置不同网段,这一点和虚拟机的 Overlay 的模式完全不一样。
在虚拟机的场景下,整个网段在所有的物理机之间都是可以“飘来飘去”的。网段不同,就给了我们做路由策略的可能。
Calico 网络模型的设计思路
我们看图中的两台物理机。它们的物理网卡是同一个二层网络里面的。由于两台物理机的容器网段不同,我们完全可以将两台物理机配置成为路由器,并按照容器的网段配置路由表。
例如,在物理机 A 中,我们可以这样配置:要想访问网段 172.17.9.0/24,下一跳是 192.168.100.101,也即到物理机 B 上去。
这样在容器 A 中访问容器 B,当包到达物理机 A 的时候,就能够匹配到这条路由规则,并将包发给下一跳的路由器,也即发给物理机 B。在物理机 B 上也有路由规则,要访问 172.17.9.0/24,从 docker0 的网卡进去即可。
当容器 B 返回结果的时候,在物理机 B 上,可以做类似的配置:要想访问网段 172.17.8.0/24,下一跳是 192.168.100.100,也即到物理机 A 上去。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
Calico是一个解决容器跨网段通信问题的高效网络解决方案。与其他解决方案不同,Calico采用三层网络的路由转发来实现容器间的通信,避免了性能损耗。其架构包括路由配置组件Felix、路由广播组件BGP Speaker和安全策略组件,通过这些组件实现了灵活的网络策略配置和路由信息的广播。Calico还提出了IPIP模式,通过打隧道的方式解决了跨网段访问问题,将本来不是邻居的两台机器变成相邻的机器。在公有云上部署时,常选择使用IPIP模式。总的来说,Calico通过三层网络的路由转发和灵活的网络策略配置,解决了容器跨网段通信的问题,避免了性能损耗,是一种高效的容器网络解决方案。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《趣谈网络协议》,新⼈⾸单¥68
《趣谈网络协议》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(44)
- 最新
- 精选
- 小谢同学请问老师,在IPIP模式下,原本的性能优势是否又回退到了overlay类似呢?
作者回复: 是的
2019-01-24428 - 斜月浮云现在提问还来得及吗?问下ipip模式中,隧道是点到点的?那么如果服务部署到两个或多个局域网,每个局域网有n台机器,那么为了保证互相跨网互通,是否需求全部点对点打隧道?是否资源损毁太大了?怎么优化?
作者回复: 使用路由,汇聚到物理路由器,物理路由器之间打通
2018-10-1428 - kissingers我们能想到的第一种方式是,让中间所有的路由器都来适配 Calico。本来它们互相告知路由,只互相告知物理机的,现在还要告知容器的网段。 这种情况为什么不行? BGP也能交换容器网段和路由信息吧
作者回复: 对啊,中间的都适配calico,但是公司网管肯定不干
2019-04-1756 - Tendrun老师您好,不太明白为什么当物理机A、B跨网断中间有多个路由器时不可用。如果路由器都支持BGP的话,且A、B之间可通。那么把A、B配置成bgp对端,应该就可以分发容器的路由,然后跨节点的容器就可以通信了吧
作者回复: A-router-B,这样的话,B肯定会告诉A,如果想访问某个容器,router是下一跳,但问题是包到了router,router是物理的呀,他又不知道容器的那个段,他往哪里转发呀。除非router也配置了bgp
2019-04-2023 - 俊飞听了老师讲解明白多了,我们的k8s1.13.0集群里面用到的就是擦calico网络,当时还在纳闷k8s怎么不用flannel网络了,现在明白了,calico网络性能要比flannel高很多,采用ip-in-ip的方式进行隧道通信,安全性也提高不少。
作者回复: 后来flannel也支持calico的所有模式了
2019-01-0631 - 程序员大天地没接触过,看来只有等后面用到才能看懂
作者回复: 很容易自己搭建一个的
2019-08-292 - yandongxiao超哥给的信息量真的是太大了,越品越精彩。
作者回复: 谢谢
2019-08-04 - 功夫容器 网络越来越抽象类
作者回复: 对的,但是原理还是那么多
2019-06-01 - 江南皮革厂研发中心保安队长服务之间的通信我们自己http RESTful 风格的比较多
作者回复: 现在用restful的多了
2019-03-182 - sunlight001工作中接触不到,现在完全看不明白的举个手!2018-07-275237
收起评论