关于k8s的网络组件calico的一点个人见解
当k8s的规模越来越大,pod的数量成指数增长,整个集群的网络会非常庞大,这个时候做pod之前的网络策略是很有必要,一是可以减少不必要的网络开销,二是可以防止网络瘫痪。calico是比flannel更高级的网络组件,都是用在k8s的网络服务中,从某种意义上来说像公司用的路由器,来保证公司所有的电脑能够正常上网用。1,网络通信,flannle能做的,它都做,整个k8s的跨主机的pod之前的通信,路由
1.calico是什么
calico是比flannel更高级的网络组件,都是用在k8s的网络服务中,从某种意义上来说像公司用的路由器,来保证公司所有的电脑能够正常上网用。
2.calico能做什么
1,网络通信,flannle能做的,它都做,整个k8s的跨主机的pod之前的通信,路由整个k8s的网络。
2,网络策略访问,这个是flannel所不具备的功能,这也是为什么calico逐渐替代flannel的原因。
当k8s的规模越来越大,pod的数量成指数增长,整个集群的网络会非常庞大,这个时候做pod之前的网络策略是很有必要,一是可以减少不必要的网络开销,二是可以防止网络瘫痪。
3.calico的网络模式和区别
vxlan,谈到vxlan模式很多网络的应用场景会用到这个网络,是扩展的vlan的意思,这个是linux系统本身就支持的一种功能,要了解calico的这种模式要需要多了解vxlan就可以了。它的实现归根到底是隧道技术的实现,通过解包封包技术在不同层的网络之间实现网络通信。在k8s里,通过的一种设置叫vtep,这个是隧道实现的基础,可以保证包的解封的可实现性。
ipip,跟上面的vxlan差不多,也是 一种隧道技术的另一种实现,他们的原理是一样的,也是可以跨网络的,只是ipip比vxlan更损性能,中间网络对资源的开销更大。
bgp,该模式是calico的重要技术,比flannel强大的地方,他通过维护一张路由表来保证网络的通信,因此需要有一个存储路由表的数据库,一般在etcd下面。所以当网络特别庞大时,路由表就很大,不利于维护,这是它的缺点。另一点,BGP模式对宿主机的要求是二层网络可达
更多推荐
所有评论(0)