分享好友 最新动态首页 最新动态分类 切换频道
docker笔记31-网络插件flannel
2024-12-26 22:52

    跨节点通讯,需要通过NAT,即需要做源地址转换。

docker笔记31-网络插件flannel

    k8s网络通信:

        1) 容器间通信:同一个pod内的多个容器间的通信,通过lo即可实现;

        2) pod之间的通信,pod ip <---> pod ip,pod和pod之间要不经过任何转换即可通信;

        3) pod和service通信:pod ip <----> cluster ip(即service ip)<---->pod ip,他们通过iptables或ipvs实现通信,另外大家要注意ipvs取代不了iptables,因为ipvs只能做负载均衡,而做不了nat转换;

        4) Service与集群外部客户端的通信

    看到mode是空的,我们把它改为ipvs就可以了。

    k8s要靠CNI接口接入其他插件来实现网络通讯。目前比较流行的插件有flannet,callco,canel,kube-router。

    这些插件使用的解决方案都如下:

    1)虚拟网桥,虚拟网卡,多个容器共用一个虚拟网卡进行通信;

    2)多路复用:MacVLAN,多个容器共用一个物理网卡进行通信;

    3)硬件交换:SR-LOV,一个物理网卡可以虚拟出多个接口,这个性能最好。

 CNI插件存放位置

    flanel只支持网络通讯,但是不支持网络策略。

    callco网络通讯和网络策略都支持。

    canel:flanel+callco合起来的功能。


    我们可以部署flanel提供网络通讯,再部署一个callco只提供网络策略。而不用canel。

    mtu:是指一种通信协议的某一层上面所能通过的最大数据包大小。

    通过ifconfig命令,我们可以看到flannel.1的地址是10.244.0.0,子网掩码是255.255.255.255,mtu是1450,mtu要留出一部分做封装叠加,额外开销使用。

    cni0只有在pod运行时才会出现。

    两个节点上的pod可以借助flannel隧道进行通信。默认使用的VxLAN协议,因为它有额外开销,所以性能有点低。

    flannel第二种协议叫host-gw(host gateway),即Node节点把自己的网络接口当做pod的网关使用,从而使不同节点上的node进行通信,这个性能比VxLAN高,因为它没有额外开销。不过他有个缺点, 就是各node节点必须在同一个网段中

     另外,如果两 个pod所在节点在同一个网段中 ,可以让VxLAN也支持host-gw的功能, 即直接通过物理网卡的网关路由转发,而不用隧道flannel叠加,从而提高了VxLAN的性能,这种flannel的功能叫directrouting。

    看到flannel是以pod的daemonset控制器形式运行的(其实flannel还可以以守护进程的方式运行)。

     flannel的配置参数:

        1、network :flannel使用的CIDR格式的网络地址,用于为pod配置网络功能。

            1)10.244.0.0/16--->

                    master: 10.244.0.0https://blog.itpub.net/28916011/viewspace-2215295/24

                    node01: 10.244.1.0/24

                    ....

                    node255: 10.244.255.0/24

                可以支持255个节点

             2)10.0.0.0/8

                    10.0.0.0/24

                    ...

                    10.255.255.0/24

                可以支持6万多个节点

         2、SubnetLen :把network切分为子网供各节点使用时,使用多长的掩码进行切分,默认为24位;

         3、SubnetMin :指明子网中的地址段最小多少可以分给子网使用,比如可以限制10.244.10.0/24,这样0~9就不让用;

         4、SubnetMax :表示最多使用多少个,比如10.244.100.0/24

         5、Backend: Vxlan,host-gw,udp(最慢)

    

flannel

    支持多种后端

    Vxlan

        1.valan

        2.Dirextrouting

    host-gw:Host Gateway  #不推荐,只能在二层网络中,不支持跨网络,如果有成千上万的Pod,容易产生广播风暴

    UDP:性能差



    在其他节点上抓包,发现根本就在ens192上抓不到包。

    可以看到veth这些接口都是桥接到cni0上的。

    brctl show表示查看已有网桥。

    可以看到,在node节点,可以在cni0端口上抓到容器里面的Ping时的包。

    其实,上面ping时的数据流是先从cni0进来,然后从flannel.1出去,最后借助物理网卡ens32发出去。所以,我们在flannel.1上也能抓到包:

    同样,在ens192物理网卡上也能抓到包:

    下面我们把flannel的通信模式改成directrouting的方式

[root@master flannel]# kubectl get configmap kube-flannel-cfg -o json -n kube-system

    看到有Directrouting,说明生效了。

    重启整个k8s,然后再看:

    继续登录到一个pod中进行ping测试:

    通过抓包可以看到,现在在pod中进行互ping,是从物理网卡ens192进出的,这就是directrouting,这种性能比默认vxlan高。

    






最新文章
微信清理大师
《微信清理大师》是一款简单实用的微信优化和清理的手机工具,这款软件操作方便,而且对于用户的隐私信息也有保护作用全方位扫描,为用户清理微信后台垃圾,释放手机空间,加速手机微信的运行的速度,让自己的微信更加的极速!感兴趣的小伙
排行榜:五款免费大头贴制作软件推荐
下面给大家推荐几款好用的免费的大头贴制作软件,有需要的小伙伴们来了解一下。美图拍拍是一款功能强大的摄像头自拍软件,兼容所有主流摄像头。它不仅能够轻松实现大头贴的拍摄,还支持视频录制和搞笑QQ表情制作等丰富功能。该软件拥有众多
镇江屋顶漏水维修电话〈免费上门〉镇江屋顶防水补漏师傅
不砸砖、不砸墙;免砸砖防水补漏技术,2小时快速解决漏水问题,超长保修期。漏水维修服务项目:房顶漏水、窗台防水补漏、楼顶漏水、泳池渗水、楼顶裂缝漏水、厨房间漏水、天棚漏水、别墅房顶漏水、地板下暗管漏水、飘窗防水、飘窗渗水、楼顶防
社会保险认证人脸识别平台:便捷、高效与安全并重的社保认证新方式
一、引言随着科技的飞速发展,社会保险认证方式也在不断创新。社会保险认证人脸识别平台作为一种新兴的社保认证方式,凭借其便捷性、高效性和安全性,逐渐受到广大参保人员的青睐。本文将详细介绍社会保险认证人脸识别平台的功能、优势、使
泸县第二人民医院医共体党委书记康健接受纪律审查和监察调查
  泸县第二人民医院医共体党委书记康健涉嫌严重违纪违法,目前正接受泸县纪委监委纪律审查和监察调查。  康健简历  康健,男,汉族,1975年7月生,四川泸县人,在职大学学历。1994年8月参加工作,2009年7月加入中国共产党。  1994
阿里巴巴和淘宝有什么区别
阿里巴巴和淘宝有什么区别1、成交客户不同一个是零售平台,一个是批发平台,最大的不同就在于这个客户类型;零售客户是一单单的发货,成交周期短,百分百平台上成交,他可能这辈子只跟你做这一次买卖;批发客户是大批量的采购,成交周期长
百度输入法定制版
百度输入法定制版是一款针对打字设计的输入法软件。这款软件由百度官方出品,为大家带来了超多的输入方式,无论是手写、五笔、拼音、语音还是各个国家的语言都可以满足大家的需求,更有海量的表情包、金句可以随心选,让大家的聊天更加的富
青春绽放 创新无限
近日,由全国高校思想政治工作网、南开大学和中国移动联合主办,咪咕互动娱乐有限公司、南开大学软件学院、中国电子学会智能人机交互专委会承办的动感地带AI+高校创智计划海选赛在智慧与创意的碰撞中落幕,经过三个月的激烈比拼,50支高校
高清美女写真一键生成:探索AI绘画工具的奥秘与玩法
在这个数字化的时代,AI技术的普及使得我们可以轻松生成超逼真的美女写真。想象一下,只需简单的几步操作,你就能得到一张涵盖各类风格和细节的完美人像。这是不是让你心动呢?今天,我们将带你进入AI生成美女写真工具的世界,分析几款热门
相关文章
推荐文章
发表评论
0评