Openshift开启Calico BGP 与 OVS性能PK

作者: 潘晓华Michael | 来源:发表于2019-06-21 11:50 被阅读1次
    openshiftcalico

    Openshift网络方案选择

    • 大家都知道K8S在网络插件选择上有很多种,默认的是Flannel,但是它的性能一般,互联网中使用最多的是Calico BGP,因为它的性能非常好。
    • 而对于Openshift,官方只支持ovs一种网络方案,同时RedHat也表示ovs在Openshift平台上运行是最合适的。但是ovs的网络性能怎样呢?因为ovs方案对数据需要进行加包,解包的过程,性能肯定是会受影响的。同时经过实测,在万兆网络中的损耗近50%,虽然在绝大部分场景下ovs已经够用了,但是但是跟几乎无损耗的Calico BGP比起来还是逊色不少。
    • 很庆幸,Openshift虽然官方不作Calico网络方案的支持,但还是很体贴地把它加入到了Openshift的安装脚本中,从而让大家都能方便地使用Calico网络方案,包括IPIP及BGP方案。

    安装步骤

    1. 在ansible hosts中设置关闭openshift默认的sdn方案,开启calico方案
      /etc/ansible/hosts
    [OSEv3:vars]
    os_sdn_network_plugin_name=cni
    openshift_use_calico=true
    openshift_use_openshift_sdn=false
    
    1. 设置Calico网络配置
      openshift-ansible/roles/calico/defaults/main.yaml
    calico_ip_autodetection_method: "first-found"
    ip_pools:
      apiVersion: projectcalico.org/v3
      kind: IPPoolList
      items:
      - apiVersion: projectcalico.org/v3
        kind: IPPool
        metadata:
          name: default-ipv4-ippool
        spec:
          cidr: "{{ openshift_cluster_network_cidr }}"
          ipipMode: Always  #默认是为Always,为IPIP模式
          natOutgoing: true
          nodeSelector: "all()"
    

    配置说明(正确开启calico bgp网络的关键):
    calico_ip_autodetection_method

    calico_ip_autodetection_method: "interface=eth0"
    # 默认为“first-found”,如果各主机网络设备名不一样,可以使用正则
    # calico_ip_autodetection_method: "interface=(eth0|eth1)"
    

    相关文章

      网友评论

        本文标题:Openshift开启Calico BGP 与 OVS性能PK

        本文链接:https://www.haomeiwen.com/subject/jecyqctx.html