MindCluster Ascend Docker Runtime
- 使用容器化支持、整卡调度、静态vNPU调度、动态vNPU调度、断点续训、弹性训练、推理卡故障恢复或推理卡故障重调度的用户,必须安装MindCluster Ascend Docker Runtime。
- 仅使用资源监测的用户,可以不安装MindCluster Ascend Docker Runtime,请直接跳过本章节。
确认安装场景
目前仅支持root用户安装MindCluster Ascend Docker Runtime,请根据实际情况选择对应的安装方式。
- 执行以下命令,查询节点名称。
kubectl get node
回显示例如下:NAME STATUS ROLES AGE VERSION ubuntu Ready worker 23h v1.17.3
- 执行以下命令,查看当前节点的容器运行时。其中node-name为节点名称。
- 不使用K8s场景
docker --version # Docker containerd --version # Containerd
- 若回显为Docker的版本信息,表示当前是Docker场景。
- 若回显为Containerd的版本信息,表示当前是Containerd场景。
- 若同时有Docker和Containerd的版本信息,请用户自行确定任务所要使用的容器运行时。
- K8s集成容器运行时场景
kubectl describe node <node-name> | grep -i runtime
- 若回显中有Docker信息,表示当前是K8s集成Docker场景。
- 若回显中有Containerd信息,表示当前是K8s集成Containerd场景。
- 不使用K8s场景
Docker场景下安装MindCluster Ascend Docker Runtime

K8s集成Docker场景安装MindCluster Ascend Docker Runtime,与Docker场景下安装MindCluster Ascend Docker Runtime操作一致。
- 安装包下载完成后,首先进入安装包(run包)所在路径。
cd <path to run package>
- 执行以下命令,为软件包添加可执行权限。
chmod u+x Ascend-docker-runtime_{version}_linux-{arch}.run
- 执行如下命令,校验软件包安装文件的一致性和完整性。
./Ascend-docker-runtime_{version}_linux-{arch}.run --check
回显示例如下:[WARNING]: --check is meaningless for Ascend-docker-runtime and will be discarded in the future Verifying archive integrity... ./Ascend-docker-runtime_6.0.RC2_linux-x86_64.run does not contain an embedded SHA256 checksum. ... All good.
- 可通过以下命令安装MindCluster Ascend Docker Runtime。
- 安装到默认路径下,执行以下命令。
./Ascend-docker-runtime_{version}_linux-{arch}.run --install
- 安装到指定路径下,执行以下命令,“--install-path”参数为指定的安装路径。
./Ascend-docker-runtime_{version}_linux-{arch}.run --install --install-path=<path>
回显示例如下,表示安装成功。
Uncompressing ascend-docker-runtime 100% [INFO]: installing ascend docker runtime ... [INFO] Ascend Docker Runtime install success
- 安装到默认路径下,执行以下命令。
- 执行以下命令,使MindCluster Ascend Docker Runtime生效。
systemctl daemon-reload && systemctl restart docker
MindCluster Ascend Device Plugin在启动时会自动检测MindCluster Ascend Docker Runtime是否存在,所以需要先启动MindCluster Ascend Docker Runtime,再启动MindCluster Ascend Device Plugin。若先启动MindCluster Ascend Device Plugin后再启动MindCluster Ascend Docker Runtime,需要参见Ascend Device Plugin章节重新启动MindCluster Ascend Device Plugin。
Containerd场景下安装MindCluster Ascend Docker Runtime
- 安装包下载完成后,首先进入安装包(run包)所在路径。
cd <path to run package>
- 执行以下命令,为软件包添加可执行权限。
chmod u+x Ascend-docker-runtime_{version}_linux-{arch}.run
- 执行如下命令,校验软件包安装文件的一致性和完整性。
./Ascend-docker-runtime_{version}_linux-{arch}.run --check
回显示例如下:[WARNING]: --check is meaningless for Ascend-docker-runtime and will be discarded in the future Verifying archive integrity... ./Ascend-docker-runtime_6.0.RC2_linux-x86_64.run does not contain an embedded SHA256 checksum. ... All good.
- 可通过以下命令安装MindCluster Ascend Docker Runtime。
- 安装到默认路径下。
./Ascend-docker-runtime_{version}_linux-{arch}.run --install
- 安装到指定路径下,执行以下命令,“--install-path”参数为指定的安装路径。
./Ascend-docker-runtime_{version}_linux-{arch}.run --install --install-path=<path>
回显示例如下,表示安装成功。Uncompressing ascend-docker-runtime 100% [INFO]: installing ascend docker runtime ... [INFO] Ascend Docker Runtime install success
- 安装到默认路径下。
- 执行以下命令,修改Containerd配置文件。
- Containerd无默认配置文件时,依次执行以下命令,创建并修改配置文件。
mkdir /etc/containerd containerd config default > /etc/containerd/config.toml vim /etc/containerd/config.toml
- Containerd已有配置文件时,打开并修改配置文件。
vim /etc/containerd/config.toml
- Containerd无默认配置文件时,依次执行以下命令,创建并修改配置文件。
- 修改Containerd配置文件“/etc/containerd/config.toml”。
- 执行以下命令,查看当前cgroup的版本
stat -fc %T /sys/fs/cgroup/
- 若回显为tmpfs,表示当前为cgroup v1版本。
- 若回显为cgroup2fs,表示当前为cgroup v2版本。
- 根据cgroup的版本修改runtime_type字段,并修改MindCluster Ascend Docker Runtime安装路径,示例如下加粗部分所示。
- cgroup v1
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes] [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc] runtime_type = "io.containerd.runtime.v1.linux" runtime_engine = "" runtime_root = "" privileged_without_host_devices = false base_runtime_spec = "" [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options] [plugins."io.containerd.grpc.v1.cri".cni] bin_dir = "/opt/cni/bin" conf_dir = "/etc/cni/net.d" max_conf_num = 1 conf_template = "" [plugins."io.containerd.grpc.v1.cri".registry] [plugins."io.containerd.grpc.v1.cri".registry.mirrors] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"] endpoint = ["https://registry-1.docker.io"] [plugins."io.containerd.grpc.v1.cri".image_decryption] key_model = "" ... [plugins."io.containerd.monitor.v1.cgroups"] no_prometheus = false [plugins."io.containerd.runtime.v1.linux"] shim = "containerd-shim" runtime = "/usr/local/Ascend/Ascend-Docker-Runtime/ascend-docker-runtime" runtime_root = "" no_shim = false shim_debug = false [plugins."io.containerd.runtime.v2.task"] platforms = ["linux/amd64"] ...
- cgroup v2
[plugins."io.containerd.grpc.v1.cri".containerd.default_runtime.options] [plugins."io.containerd.grpc.v1.cri".containerd.runtimes] [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc] base_runtime_spec = "" cni_conf_dir = "" cni_max_conf_num = 0 container_annotations = [] pod_annotations = [] privileged_without_host_devices = false runtime_engine = "" runtime_path = "" runtime_root = "" runtime_type = "io.containerd.runc.v2" [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options] BinaryName = "/usr/local/Ascend/Ascend-Docker-Runtime/ascend-docker-runtime" CriuImagePath = "" CriuPath = "" CriuWorkPath = "" IoGid = 0 IoUid = 0 NoNewKeyring = false NoPivotRoot = false Root = "" ShimCgroup = "" SystemdCgroup = true ...
- cgroup v1
- 执行以下命令,查看当前cgroup的版本
- 执行以下命令,重启Containerd。
systemctl daemon-reload && systemctl restart containerd
K8s集成Containerd场景下安装MindCluster Ascend Docker Runtime
- 安装包下载完成后,首先进入安装包(run包)所在路径。
cd <path to run package>
- 执行以下命令,为软件包添加可执行权限。
chmod u+x Ascend-docker-runtime_{version}_linux-{arch}.run
- 执行如下命令,校验软件包安装文件的一致性和完整性。
./Ascend-docker-runtime_{version}_linux-{arch}.run --check
回显示例如下:[WARNING]: --check is meaningless for Ascend-docker-runtime and will be discarded in the future Verifying archive integrity... ./Ascend-docker-runtime_6.0.RC2_linux-x86_64.run does not contain an embedded SHA256 checksum. ... All good.
- 可通过以下命令安装MindCluster Ascend Docker Runtime。
- 安装到默认路径下。
./Ascend-docker-runtime_{version}_linux-{arch}.run --install
- 安装到指定路径下,执行以下命令,“--install-path”参数为指定的安装路径。
./Ascend-docker-runtime_{version}_linux-{arch}.run --install --install-path=<path>
回显示例如下,表示安装成功。Uncompressing ascend-docker-runtime 100% [INFO]: installing ascend docker runtime ... [INFO] Ascend Docker Runtime install success
- 安装到默认路径下。
- 修改Containerd配置文件“/etc/containerd/config.toml”。
- 执行以下命令,查看当前cgroup的版本
stat -fc %T /sys/fs/cgroup/
- 若显示为tmpfs,表示当前为cgroup v1版本。
- 若显示为cgroup2fs,表示当前为cgroup v2版本。
- 根据cgroup的版本修改runtime_type字段、并修改MindCluster Ascend Docker Runtime安装路径,示例如下加粗部分所示。
- cgroup v1
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes] [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc] runtime_type = "io.containerd.runtime.v1.linux" runtime_engine = "" runtime_root = "" privileged_without_host_devices = false base_runtime_spec = "" [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options] [plugins."io.containerd.grpc.v1.cri".cni] bin_dir = "/opt/cni/bin" conf_dir = "/etc/cni/net.d" max_conf_num = 1 conf_template = "" [plugins."io.containerd.grpc.v1.cri".registry] [plugins."io.containerd.grpc.v1.cri".registry.mirrors] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"] endpoint = ["https://registry-1.docker.io"] [plugins."io.containerd.grpc.v1.cri".image_decryption] key_model = "" ... [plugins."io.containerd.monitor.v1.cgroups"] no_prometheus = false [plugins."io.containerd.runtime.v1.linux"] shim = "containerd-shim" runtime = "/usr/local/Ascend/Ascend-Docker-Runtime/ascend-docker-runtime" runtime_root = "" no_shim = false shim_debug = false [plugins."io.containerd.runtime.v2.task"] platforms = ["linux/amd64"] ...
- cgroup v2
[plugins."io.containerd.grpc.v1.cri".containerd.default_runtime.options] [plugins."io.containerd.grpc.v1.cri".containerd.runtimes] [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc] base_runtime_spec = "" cni_conf_dir = "" cni_max_conf_num = 0 container_annotations = [] pod_annotations = [] privileged_without_host_devices = false runtime_engine = "" runtime_path = "" runtime_root = "" runtime_type = "io.containerd.runc.v2" [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options] BinaryName = "/usr/local/Ascend/Ascend-Docker-Runtime/ascend-docker-runtime" CriuImagePath = "" CriuPath = "" CriuWorkPath = "" IoGid = 0 IoUid = 0 NoNewKeyring = false NoPivotRoot = false Root = "" ShimCgroup = "" SystemdCgroup = true ...
- cgroup v1
- 执行以下命令,查看当前cgroup的版本
- 修改节点上kubelet的配置文件kubeadm-flags.env。
vi /var/lib/kubelet/kubeadm-flags.env
增加如下加粗内容,其他参数已省略。
KUBELET_KUBEADM_ARGS="... --container-runtime=remote --container-runtime-endpoint=/run/containerd/containerd.sock ..."
- 如果存在Docker服务,请执行以下命令停止对应服务。
systemctl stop docker
- 执行命令,重启Containerd和kubelet,示例如下。
systemctl daemon-reload && systemctl restart containerd kubelet
MindCluster Ascend Docker Runtime安装包命令行参数说明
参数说明如表1所示。
参数 |
说明 |
---|---|
--help | -h |
查询帮助信息。 |
--info |
查询软件包构建信息。在未来某个版本将废弃该参数。 |
--list |
查询软件包文件列表。在未来某个版本将废弃该参数。 |
--check |
检查软件包的一致性和完整性。在未来某个版本将废弃该参数。 |
--quiet |
静默安装,跳过交互式信息,需要配合install、uninstall或者upgrade使用。在未来某个版本将废弃该参数。 |
--nox11 |
不使用x11模式运行。在未来某个版本将废弃该参数。 |
--noexec |
解压软件包到当前目录,但不执行安装脚本。配套--extract=<path>使用,格式为--noexec --extract=<path>。在未来某个版本将废弃该参数。 |
--extract=<path> |
解压软件包中文件到指定目录,需要配合--noexec参数一起使用。在未来某个版本将废弃该参数。 |
--tar arg1 [arg2 ...] |
对软件包执行tar命令,使用tar后面的参数作为命令的参数。例如执行--tar xvf命令,解压run安装包的内容到当前目录。在未来某个版本将废弃该参数。 |
--install |
安装软件包。可以指定安装路径--install-path=<path>,也可以不指定安装路径,直接安装到默认路径下。 |
--install-path=<path> |
指定安装路径。当环境上存在全局配置文件“ascend_dcoker_runtime_install.info”时,指定的安装路径必须与全局配置文件中保存的安装路径保持一致。如用户想更换安装路径,需先卸载原路径下的MindCluster Ascend Docker Runtime软件包并确保全局配置文件“ascend_dcoker_runtime_install.info”已被删除。
|
--uninstall |
卸载软件。如果安装时指定了安装路径,那么卸载时也需要指定安装路径,安装路径的参数为--install-path=<path>。 |
--upgrade |
升级软件。如果安装时指定了安装路径,那么升级时也需要指定安装路径,安装路径的参数为--install-path=<path>。 |
--install-type=<type> |
仅支持在以下产品安装或升级MindCluster Ascend Docker Runtime时使用该参数:
该参数用于设置MindCluster Ascend Docker Runtime的默认挂载内容,且需要配合“--install”一起使用,格式为--install --install-type=<type>。<type>可选值为:
|
--ce=<ce> |
仅在使用iSula启动容器时需要指定该参数,参数值为isula,并且需要配合--install或者--uninstall一起使用,不能单独使用。 |
--version |
查询MindCluster Ascend Docker Runtime版本。 |