Antrea

作者: 吴邪_TicktW | 来源:发表于2021-05-24 21:08 被阅读0次

    Antrea及Antrea-IPAM技术分享

    一 CNI简介

    1.1 定义:CNI是一个CNCF项目,用于配置容器网络。CNI和K8s的联系:K8s是CNI支持的容器编排系统之一。CNI是K8s可以使用的其中一种网络解决方案。

    1.2 组成
    CNI项目由以下3个部分组成

    1.3 插件的分类
    CNI的插件整体分为官方插件和第三方插件:

    • CNI官方插件
      • Main:构建配置网络接口
      • IPAM :IP地址管理
      • Meta:其他的插件端口映射,Qos等
    • 第三方插件
      • Antrea
      • Cilium
      • Kube-OVN
      • Calico

    Antrea可以认为是Main类型的插件,Antrea-IPAM是IPAM插件。

    1.4 CNI代理调用和CNI调用链

    CNI代理调用是指一个CNI插件在执行过程中调用另一个CNI插件的过程。如下配置中,bridge插件调用host-local插件申请释放IP。Antrea通过CNI代理调用Antrea-IPAM。

    CNI调用链是指kubelet/cri 按照配置顺序链式依次调用CNI插件。如下配置中,kubelet会依次调用bridge和portmap插件。

    {
      "cniVersion": "1.0.0",
      "name": "dbnet",
      "plugins": [
        {
          "type": "bridge",
          // plugin specific parameters
          "bridge": "cni0",
          "keyA": ["some more", "plugin specific", "configuration"],
    
          "ipam": {
            "type": "host-local",
            // ipam specific
            "subnet": "10.1.0.0/16",
            "gateway": "10.1.0.1",
            "routes": [
                {"dst": "0.0.0.0/0"}
            ]
          },
          "dns": {
            "nameservers": [ "10.1.0.1" ]
          }
        },
        {
            "type": "portmap",
            "capabilities": {"portMappings": true}
        }
      ]
    }
    
    

    二 Antrea简介

    Antrea是由VMware开源的K8s网络解决方案,符合CNI规范,以OVS为数据面。

    主页:https://antrea.io/

    github: https://github.com/antrea-io/antrea

    2.1 与Kube-OVN对比

    image

    同样以OVS作为数据平面的CNI还有Kube-OVN(https://github.com/kubeovn/kube-ovn)。如上图,一个典型的SDN网络架构中,Antrea属于SDN控制器层,而Kube-OVN属于SDN网络应用层(与之对应的控制器是OVN)。两者在架构中的相对位置决定了Antrea的性能要优于Kube-OVN,功能则没有Kube-OVN丰富。

    2.2 与其他主流CNI的性能测试对比

    image

    可以看到,从功能、性能、资源消耗综合来看,在考虑安全特性(即要求CNI具备网络策略和流量加密功能)的情况下Calico的表现最好,Antrea、Cilium、Weave次之,kube-router和Kube-OVN性能最差。
    更加细节的数据可以到
    https://docs.google.com/spreadsheets/d/12dQqSGI0ZcmuEy48nA0P_bPl7Yp17fNg7De47CYWzaM/edit#gid=1170887058

    2.3 功能特性

    1 提供了antctl命令行工具,集成了trace-packet等工具,易于诊断OVS网络问题

    2 与VMware生态的产品集成较好,是VMware tanzu k8s的默认CNI,后期可能接入NSX

    3 提供丰富的功能的同时兼顾网络拓扑简单、性能优异

    三 软件架构及网络拓扑

    https://github.com/antrea-io/antrea/blob/main/docs/design/architecture.md

    四 OVS Pipline

    https://github.com/antrea-io/antrea/blob/main/docs/design/ovs-pipeline.md

    相关文章

      网友评论

          本文标题:Antrea

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