Skip to content

使用ovs internal port 实现Pod NIC

hzma edited this page Jun 3, 2021 · 9 revisions

背景

通常情况下,CNI都是创建veth-pair来实现Pod与Node的流量互通。

可以使用ovs internal-port来实现Pod中的网卡,实现Pod与Node的流量互通。

连接不同Namespace的介绍,可以参考NetNs互联

从 kube-ovn v1.7.0 版本开始,支持使用 ovs internal-port 方式实现Pod通信网卡。

配置方式

在安装脚本中,提供了环境变量POD_NIC_TYPE,用于设置是使用veth-pair方式还是internal-port方式来控制Pod的通信网卡实现方式。

POD_NIC_TYPE 取值,可以设置为 "veth-pair" 或者 "internal-port"。

POD_NIC_TYPE="veth-pair"               # veth-pair or internal-port

在kube-ovn-controller的配置参数中,最后增加了pod-nic-type参数设置,默认使用"veth-pair"取值。

containers:
        - name: kube-ovn-controller
          image: "$REGISTRY/kube-ovn:$VERSION"
          imagePullPolicy: $IMAGE_PULL_POLICY
          command:
          - /kube-ovn/start-controller.sh
          args:
          - --default-cidr=$POD_CIDR
          - --default-gateway=$POD_GATEWAY
          - --default-exclude-ips=$EXCLUDE_IPS
          - --node-switch-cidr=$JOIN_CIDR
          - --network-type=$NETWORK_TYPE
          - --default-interface-name=$VLAN_INTERFACE_NAME
          - --default-vlan-id=$VLAN_ID
          - --pod-nic-type=$POD_NIC_TYPE
Clone this wiki locally