开发者社区> 问答> 正文

kata版本2.4.3使用sriov-ib infiniband在ContainerCreating

我在openshift 4.9上使用kata运行时,并使用sriov的ib infiniband,我想将vf传递到kata-pod,但当我创建一个pod时,它保持在container creating状态,最后描述pod日志显示如下

提问3.png

ib卡安装在ocp worker0主机上,sriov虚拟化通过ocp sriov操作员配置,vf编号为10

提问4.png

原提问者GitHub用户fu7100 如对项目有进一步反馈,请在 GitHub 提交 issue https://github.com/kata-containers/kata-containers/issues

展开
收起
码字王 2023-05-17 16:15:13 242 0
2 条回答
写回答
取消 提交回答
  • 值得去的地方都没有捷径

    根据描述,问题可能出在sriov-ib网卡驱动没有正确绑定到kubelet所使用的Node上,导致Kubernetes无法找到可用的sriov-ib设备并将其暴露给Kata Container。

    解决此问题的步骤如下:

    在Node上使用lspci命令,确认sriov-ib网卡驱动已经正确绑定:

    $ lspci -nn | grep -i mellanox 如果结果中没有类似下面的输出,则可能需要重新安装或配置sriov-ib网卡驱动:

    07:00.0 Infiniband controller [0200]: Mellanox Technologies MT27700 Family [ConnectX-4] 确认kubelet的配置文件中包含了sriov和devicePlugins:

    $ cat /var/lib/kubelet/config.yaml | grep -E "sriov|devicePlugins" 如果没有输出,则需要手动在kubelet配置文件中添加相应的配置。请参考Kubernetes文档中关于sriov设备插件的说明。

    确认Kata Container运行时的配置文件中包含了sriov:

    $ cat /usr/share/defaults/kata-containers/configuration.toml | grep sriov 如果没有输出,则需要手动在Kata Container运行时的配置文件中添加相应的配置。请参考Kata Containers文档中关于sriov-vfio设备的说明。

    在Pod中的容器定义中,通过添加sriov字段并设置相关的vf编号来配置使用sriov设备:

    resources: requests: sriov: "<vf_number>" 针对该问题出现的Pod,可以通过查看Pod的event或describe信息,来确认日志中是否包含相关的错误信息,以便更进一步排查问题。

    $ kubectl describe pod $ kubectl get events --field-selector involvedObject.name= 完成上述步骤之后,重新创建该Pod,观察是否能够成功启动容器。

    2023-05-18 18:38:39
    赞同 展开评论 打赏
  • 如果你在OpenShift上使用kata-deploy,我认为你最终可能会遇到一些与SELinux相关的问题。 你介意仔细检查一下情况不是这样吗?

    理想情况下,使用OpenShift,您应该能够利用OpenShift沙盒容器,这是使用Kata containers的Red Hat解决方案。

    原回答者GitHub用户fidencio 如对项目有进一步反馈,请在 GitHub 提交 issue https://github.com/kata-containers/kata-containers/issues

    2023-05-17 16:24:53
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载