当前K8s集成iSula场景下,任务Pod默认不使用Ascend Docker Runtime组件启动。若用户想要使用Ascend Docker Runtime,需要参照本章节进行相关操作。
前提条件
- 已完成Ascend Docker Runtime的安装(iSula场景)。
- 已在节点上配置CRI实现。CRI 是一个插件接口,它使kubelet能够使用各种容器运行时,无需重新编译集群组件。关于CRI相关操作和说明请参见Kubernetes官方文档。
操作步骤
- 执行以下命令,配置ascend RuntimeClass文件。
cat > ascend-runtime-class.yaml << EOF
apiVersion: node.k8s.io/v1beta1
kind: RuntimeClass
metadata:
name: ascend-runtime
handler: ascend
EOF
参数说明:
- RuntimeClass定义于node.k8s.io API 组,请确保“apiVersion”字段填写正确。
- 文件中“name”字段用来引用RuntimeClass的名字;“handler”字段对应CRI配置的名称,此处填daemon.json中配置的运行时,比如“ascend”。
- 执行以下命令,部署ascend RuntimeClass资源。
kubectl apply -f ascend-runtime-class.yaml
- (可选)执行以下命令,确认ascend RuntimeClass是否配置成功。
kubectl get runtimeclass -A | grep ascend-runtime
回显示例如下,表示ascend RuntimeClass配置成功。
ascend-runtime 2023-xx-xxTxx:xx:xxZ
- 运行自定义任务Pod。
完成RuntimeClasses的配置后,您可以在自定义Pod的配置文件中指定
“runtimeClassName”参数来使用它。
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
runtimeClassName: ascend-runtime
# ...