安装Ascend Docker Runtime
安装场景
目前只支持root用户安装、升级Ascend Docker Runtime,请根据实际情况选择对应的安装方式。
Docker场景下安装Ascend Docker Runtime
K8s集成Docker场景安装Ascend Docker Runtime,与Docker场景下安装Ascend Docker Runtime操作一致。
- 安装包下载完成后,首先进入安装包(run包)所在路径。
cd <path to run package>
- 执行如下命令,校验软件包安装文件的一致性和完整性。
./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.RC1_linux-x86_64.run does not contain an embedded SHA256 checksum. ... All good.
- 执行以下命令,为软件包添加可执行权限。
chmod u+x Ascend-docker-runtime_{version}_linux-{arch}.run
- 可通过以下命令安装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
- 安装到默认路径下,执行以下命令。
- 执行以下命令,使Ascend Docker Runtime生效。
systemctl daemon-reload && systemctl restart docker
如果用户在Docker的daemon.json文件中配置了“{"live-restore": true }”选项,且此时已部署了Ascend Device Plugin,则Ascend Docker Runtime安装之后重启容器时,不能成功重启Ascend Device Plugin组件。请在安装Ascend Docker Runtime后,重新安装部署Ascend Device Plugin组件。
Containerd场景下安装Ascend Docker Runtime
- 安装包下载完成后,首先进入安装包(run包)所在路径。
cd <path to run package>
- 执行如下命令,校验软件包安装文件的一致性和完整性。
./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.RC1_linux-x86_64.run does not contain an embedded SHA256 checksum. ... All good.
- 执行以下命令,为软件包添加可执行权限。
chmod u+x Ascend-docker-runtime_{version}_linux-{arch}.run
- 可通过以下命令安装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无默认配置文件时,依次执行以下命令,创建并修改配置文件。
- 根据实际情况修改config.toml的“runtime”为安装路径,示例如下加粗部分所示。
... [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"] ...
- 执行以下命令,重启Containerd。
systemctl daemon-reload && systemctl restart containerd
K8s集成Containerd场景下安装Ascend Docker Runtime
- 安装包下载完成后,首先进入安装包(run包)所在路径。
cd <path to run package>
- 执行如下命令,校验软件包安装文件的一致性和完整性。
./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.RC1_linux-x86_64.run does not contain an embedded SHA256 checksum. ... All good.
- 执行以下命令,为软件包添加可执行权限。
chmod u+x Ascend-docker-runtime_{version}_linux-{arch}.run
- 可通过以下命令安装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 v1的用户,根据实际情况修改返回类型和runtime安装路径,示例如下加粗部分所示。
[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.v2.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.v2.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的用户,根据实际情况修改返回类型和runtime安装路径,示例如下加粗部分所示。
- 修改节点上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 isula
- 执行命令,重启Containerd和kubelet,示例如下。
systemctl daemon-reload && systemctl restart containerd kubelet
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”时,指定的安装路径必须与全局配置文件中保存的安装路径保持一致。如用户想更换安装路径,需先卸载原路径下的Ascend Docker Runtime软件包并确保全局配置文件“ascend_dcoker_runtime_install.info”已被删除。 若5.0.RC1版本之前的Ascend Docker Runtime是通过ToolBox安装包安装的,则该文件不存在,不需要删除。 若不指定安装路径,将安装到默认路径“/usr/local/Ascend”。 若通过该参数指定了安装目录,运行用户需要对指定的安装路径有可读写权限。 |
--uninstall |
卸载已安装的软件。如果安装时指定了安装路径,那么卸载时也需要指定安装路径,安装路径的参数为--install-path=<path>。 |
--upgrade |
升级软件。如果安装时指定了安装路径,那么升级时也需要指定安装路径,安装路径的参数为--install-path=<path>。 |
--install-type=<type> |
仅支持在以下产品安装或升级Ascend Docker Runtime包时使用该参数:
该参数用于设置Ascend Docker Runtime的默认挂载内容,且需要配合“--install”一起使用,格式为--install --install-type=<type>。<type>可选值为:
|
--ce=<ce> |
仅在使用iSula启动容器时需要指定该参数,参数值为isula,并且需要配合--install或者--uninstall一起使用,不能单独使用。 |
--version |
打印Ascend Docker Runtime版本。 |