K8S-SRIOV 及 multus CNI 安装

环境

k8s 版本: v1.22.3
SRIOV 网卡:E810

组件功能

  • Multus Plugin: 多网卡支持。
  • SRIOV-Network-Device Plugin:通过规则实现SR-IOV的VF自动选取。
  • SRIOV CNI:具体干活的,把VF挂载到POD里面,设置MAC,VLAN等等。

SRIOV CNI 安装

git clone https://github.com/intel/sriov-cni.git
cd sriov-cni
make
cp build/sriov /opt/cni/bin
cd /opt/cni/bin
chmod 777 sriov

每个需要创建 vf 的网卡都需要安装

SRIOV network device plugin

可以直接 pull 镜像

docker pull nfvpe/sriov-device-plugin

可以 make image

git clone https://github.com/intel/sriov-network-device-plugin.git
cd sriov-network-device-plugin
make image

同样每个节点都需要

安装

ConfigMap
vendors:devices 可以通过 lspci -nn 进行查询

apiVersion: v1
kind: ConfigMap
metadata:
  name: sriovdp-config
  namespace: kube-system
data:
  config.json: |
    {
        "resourceList": [{
                "resourceName": "intel_sriov_netdevice",
                "resourcePrefix": "intel.com",
                "selectors": {
                    "vendors": ["8086"],
                    "devices": ["1889"],
                    "drivers": ["iavf"]
                }
            }
        ]
    }

sriov-crd.yaml

apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: sriov-net1
  annotations:
    k8s.v1.cni.cncf.io/resourceName: intel.com/intel_sriov_netdevice
spec:
  config: '{
  "type": "sriov",
  "cniVersion": "0.3.1",
  "name": "sriov-network",
  "ipam": {
    "type": "host-local",
    "subnet": "10.56.217.0/24",
    "routes": [{
      "dst": "0.0.0.0/0"
    }],
    "gateway": "10.56.217.1"
  }
}'

kubectl create -f sriov-network-device-plugin/deployments/k8s-v1.16/sriovdp-daemonset.yaml

pod 使用

pod-iperf-vf.yaml

apiVersion: v1
kind: Pod
metadata:
  name: iperf-vf
  namespace: default
  annotations:
    k8s.v1.cni.cncf.io/networks: sriov-net1
spec:
  containers:
  - name: iperf-vf
    image: sirot/netperf-latest
    command:
    - sleep
    - "infinity"
    resources:
      requests:
        intel.com/intel_sriov_netdevice: '1'
      limits:
        intel.com/intel_sriov_netdevice: '1'
  nodeSelector:
    kubernetes.io/hostname: master

参考

参考至同事泓宇 https://www.jianshu.com/p/ddd788d2458f

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值