使用Containerd容器的MindX DL

Kubernetes 1.20版本之后,将不再支持使用Docker作为CRI(container runtime interface),生产环境中,如果对使用的K8s有高版本要求时,需要考虑改用其它CRI。MindX DL基于主流CRI Containerd的1.4.4版本进行安装和验证,各组件能够在Containerd + Kubernetes场景下正常运行,且功能正常。

Containerd安装流程请参见官方资料。MindX DL安装时默认使用Ascend-docker-runtime,可以配置Containerd使用Ascend-docker-runtime替代runc,用于在启动容器时自动挂载设备,对Containerd需要做的配置请参见Containerd启用Ascend-docker-runtime

在已完成Containerd和Kubernetes安装的环境上,对于MindX DL的安装请参见安装MindX DL

Containerd启用Ascend-docker-runtime

如果未安装Ascend docker runtime,请参见MindX ToolBox用户指南安装实用工具包“Ascend-mindx-toolbox_{version}_linux-{arch}.run”。

  1. 编辑Containerd的配置文件。

    vim /etc/containerd/config.toml
    • 设置runc,将runtime_type的值修改为“io.containerd.runtime.v1.linux”。
      ...
      [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
        runtime_type = "io.containerd.runtime.v1.linux"
        ...
    • 修改plugins的runtime的值为Ascend-docker-runtime的路径,例如Ascend-docker-runtime的路径为“/usr/local/Ascend/toolbox/latest/Ascend-Docker-Runtime/ascend-docker-runtime”
      ...
      [plugins."io.containerd.runtime.v1.linux"]
      ...
        runtime = "/usr/local/Ascend/toolbox/latest/Ascend-Docker-Runtime/ascend-docker-runtime"
      ...

  2. 重启Containerd服务。

    systemctl restart containerd