DOCA 服务
本文概述了 DOCA 提供的一系列服务及其用途。
DOCA 服务是基于 DOCA 的产品,封装在容器中,以便在 NVIDIA® BlueField® DPU 之上快速轻松地部署。DOCA 服务利用 DPU 功能来提供遥测、时间同步、网络解决方案等。
服务容器可以在官方 NGC 目录中找到,标记在“DOCA”和“DPU”NGC 标签下,以及容器目录中的内置 NVIDIA 平台选项(“DOCA”)。
以下服务在 NGC 目录中不可用
DOCA 管理服务
有关服务部署的信息,请参阅DOCA 容器部署指南。
如有问题、意见和反馈,请通过 DOCA-Feedback@exchange.nvidia.com 与我们联系。
基于 DOCA 的容器由两个主要类别组成
DOCA 基础镜像 – 用于运行时和开发的容器化 DOCA 环境。供开发人员用于其开发环境或在容器化基于 DOCA 的解决方案的过程中使用。
DOCA 服务 – 容器化的基于 DOCA 的产品
以下部分介绍了开发和容器化基于 DOCA 的产品的过程。
开发
在容器化产品之前,用户必须首先使用与 BlueField DPU 上的裸机部署相同的过程来设计和开发它。
此过程包括以下步骤
确定基于 DOCA 的解决方案的需求。
查看 DOCA SDK 库提供的功能集,详细信息请参见各自的编程指南。
按照我们的开发者指南开始开发过程,以充分利用我们提供的提示和工具。
测试开发的解决方案。
一旦开发的产品足够成熟,就可以开始对其进行容器化。
容器化
在此过程中,建议使用 DOCA 提供的基础镜像,这些镜像可在 DOCA 的 NGC 页面上找到。
提供三种镜像风格
base-rt
– 包括 DOCA 运行时,使用 DOCA SDK 所需的最基本的运行时环境full-rt
– 基于之前的镜像构建,包括完整的运行时软件包列表,这些软件包都是可以在 doca-runtime 软件包下找到的用户模式组件devel
– 基于之前的镜像构建,并添加了用于开发和调试 DOCA 应用程序的标头和开发工具。此镜像对于多阶段构建特别有用。
所有镜像都预配置为使用与 DOCA 版本匹配的 DOCA 存储库。这意味着作为 Dockerfile 的一部分/在开发容器中安装额外的 DOCA 软件包可以使用以下命令完成
apt update
apt install <package
name>,
对于 DOCA 和 CUDA 环境,这些镜像的类似风格与 CUDA 的镜像相结合
base-rt
(DOCA) +base
(CUDA)full-rt
(DOCA) +runtime
(CUDA)devel
(DOCA) +devel
(CUDA)
一旦容器化的解决方案足够成熟,用户就可以开始对其进行性能分析,为生产级部署做准备。
DOCA 为 DPU 和主机都提供了基础镜像。对于与主机相关的 DOCA 基础镜像,请参阅带有“-host”后缀的镜像标签。
性能分析
如DOCA 容器部署指南中所述,DPU 之上容器的当前部署模型基于 kubelet-standalone。更具体地说,这种基于 Kubernetes 的部署使用 YAML 文件来描述 pod 所需的资源,例如
CPU
RAM
Huge pages
建议您对产品进行性能分析,以估计其所需的资源(在常规部署以及压力测试下),以便 YAML 包含准确的“resources”部分。这使管理员可以更好地了解部署服务的要求,并允许 k8s 基础设施确保服务在部署后不会出现异常行为。
完成后,容器化的基于 DOCA 的产品就可以进行最终测试,之后就可以在生产环境中部署。