zoukankan      html  css  js  c++  java
  • K8S flannel

    kubernetes网络通信方式有:

    1. 容器间的通信 : pod内的容器通信 通过(lo)设备
    2. Pod之间的通信 :pod IP <-----> pod IP ,K8S 要求所有的 pod 都必须直接通信
    3. Pod与Service之间的通信 :podIP <-----> ClusterIP
    4. Service与集群外部的通信 ClusterIP <-----> 集群外部

    CNI插件:

    1. flannel
    2. calico
    3. canel
    4. kube-route

    解决方案:

    1. 虚拟网桥
    2. 多路复用 MacVLAN
    3. 硬件交换 SR-IOV

    Flannel
    Flannel本身是一个框架,真正提供网络功能是他的后端实现。目前支持三种后端实现:

    1. VXLAN
    2. host-gw
    3. UDP

    查看 flannel

    kubectl get ds -n kube-system -o wide
    

    查看对应的 configmap

    kubectl get configmap -n kube-system
    

    VXLAN+DriectRouting 模式
    VXLAN+DriectRouting是首先采用直接路由的方式,如果不可以就使用VXLAN的方式。
    Flannel的默认配置是VXLAN,但是我们可以配置多个插件协作,接下来我们就使用VXLAN+DriectRouting这两个插件协作。

    cd ~ ; mkdir flannel 
    wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    
    # 添加一个配置
    vi kube-flannel.yml
    ...
      net-conf.json: |
        {
          "Network": "10.244.0.0/16",
          "Backend": {
            "Type": "vxlan",                     # 注意,这里有个, 逗号
            "Directrouting": true                # 启动 Directrouting
          }
        }
    
    # 查看 ds
    kubectl  get ds -n kube-system
    
    # 删除重建 flannel
    kubectl delete ds kube-flannel-ds-amd64 -n kube-system
    
    kubectl  get pods -n kube-system -w
    kubectl apply -f kube-flannel.yml 
    
    # 在 node1,node2 上执行 ip route show ,这里以 node1 为例子
    [root@node1 ~]# ip route show
    default via 192.168.0.254 dev eth0 proto static metric 100 
    10.244.0.0/24 via 192.168.0.205 dev eth0 
    10.244.1.0/24 dev cni0 proto kernel scope link src 10.244.1.1 
    10.244.2.0/24 via 192.168.0.207 dev eth0           # 网络到达 node2 使用 eth0 网卡即成功 
    172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 
    192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.206 metric 100 
    
  • 相关阅读:
    lpc2103 rtc寄存器说明
    LPC21O3第一课:第一个实验,LED灯闪烁及ADS1.2的初步使用
    把FlvJoiner更新了一下
    Boost智能指针——weak_ptr
    买了一个USB无线网卡
    Boost的转换函数(二)
    把FlvDownloader更新了一下
    在C#中快速实现拖放操作
    Flv视频分割软件FlvSplitter发布
    用Apatch给Messenger去广告
  • 原文地址:https://www.cnblogs.com/klvchen/p/9987845.html
Copyright © 2011-2022 走看看