zoukankan      html  css  js  c++  java
  • flannel网络的VXLAN及host-gw

    http://www.fly63.com/article/detial/1738

    VXLAN是Linux内核本身支持的一种网络虚拟化技术,是内核的一个模块,在内核态实现封装解封装,构建出覆盖网络,其实就是一个由各宿主机上的Flannel.1设备组成的虚拟二层网络。

    由于VXLAN由于额外的封包解包,导致其性能较差,所以Flannel就有了host-gw模式,即把宿主机当作网关,除了本地路由之外没有额外开销,性能和calico差不多,由于没有叠加来实现报文转发,这样会导致路由表庞大。因为一个节点对应一个网络,也就对应一条路由条目。

    host-gw虽然VXLAN网络性能要强很多。,但是种方式有个缺陷:要求各物理节点必须在同一个二层网络中。
    物理节点必须在同一网段中。这样会使得一个网段中的主机量会非常多,万一发一个广播报文就会产生干扰。
    在私有云场景下,宿主机不在同一网段是很常见的状态,所以就不能使用host-gw了。

    VXLAN还有另外一种功能,VXLAN也支持类似host-gw的玩法,如果两个节点在同一网段时使用host-gw通信,如果不在同一网段中,即 当前pod所在节点与目标pod所在节点中间有路由器,就使用VXLAN这种方式,使用叠加网络。
    结合了Host-gw和VXLAN,这就是VXLAN的Directrouting模式

    因此Flnnel的VXLAN模式有两种:

    1. VXLAN: 原生的VXLAN,即扩展的虚拟LAN
    2. Directrouting:直接路由型

    Flannel VXLAN之Directrouting模式配置

    修改下载的kube-flannel.yml,将flannel的configmap对象改为:

    net-conf.json: |
        {
          "Network": "10.244.0.0/16",  #默认网段
          "Backend": {
            "Type": "VXLAN",    #增加,
            "Directrouting": true  #增加
          }
        }

    然后把原来的flannel删除,再重新apply:

    参考:

    https://blog.csdn.net/weixin_30894583/article/details/97545040

  • 相关阅读:
    Apache 常用伪静态配置
    Nginx 常用伪静态配置
    数组的完全随机排列
    PHP获得IP地址
    百度编辑器ueditor代码高亮效果前台不显示的解决方法
    ckeditor 图片上传功能配置
    sendmail 邮件服务器搭建
    关于MYSQL Incorrect string value
    linux 常见命令
    zend framework 初识
  • 原文地址:https://www.cnblogs.com/sandshell/p/11772052.html
Copyright © 2011-2022 走看看