介绍
@hkube/hkube 是一个基于 Kubernetes 的流程引擎,可用于部署和管理机器学习、深度学习和数据处理任务。该npm包为该引擎的Node.js Client,可将任务提交到HKube并监控任务状态和结果。
此教程将详细介绍如何使用 @hkube/hkube 包和HKube引擎。
安装和依赖
首先,我们需要在项目中安装 @hkube/hkube 包。在终端中使用以下命令安装:
npm install --save @hkube/hkube
在使用HKube引擎之前,您需要同时满足以下要求:
- 安装 Kubernetes 集群并配置合适的 CPU 和内存资源。
- 准备好 Docker 镜像以运行任务。
提交任务
在本教程中,我们将使用一个简单的图像处理任务作为示例。首先,我们需要准备一个 JSON 对象,其中包含以下属性:
属性 | 类型 | 描述 |
---|---|---|
taskId | 字符串 | 任务ID,在您的应用程序中必须唯一 |
input | JSON 对象 | 任务输入,通常为要处理的文件或数据 |
algorithmName | 字符串 | 操作名称,指定任务将在哪个算法上运行 |
nodeName | 字符串 | 节点名称,指定任务将在HKube集群中的哪个节点上运行 |
接下来,我们将创建一个 Node.js 文件,并将其命名为 submitJob.js。我们将首先导入必要的模块:
const HKUBE_API_URL = "http://localhost:3000/api/v1"; // HKube的API地址 const apiServerUrl = HKUBE_API_URL; const { AggregatedError } = require("@hkube/dag"); const { algorithms } = require("@hkube/dag-adapter"); const QueueConsumer = require("@hkube/worker-node/index"); const { ConfigurationManager } = require("@hkube/config"); const config = new ConfigurationManager();
接下来,我们将准备需要的参数:
const algorithmName = "green-alg"; const nodeName = "green"; const taskId = "green-task"; const input = { url: "http://my-image-url.jpg", size: "original", };
现在我们可以提交任务了:
-- -------------------- ---- ------- ----- ------ - --- --------------- ---- - ----- ------------ ----- - ------ ------- -------------- --------- -- -- -------------- --------- ------------------------- ------------- ------------- ---------- --- ------------------ -- -- - --------------- --- ---------------------- ----- -- - -------------------- ------------------------- --- ------------------- ------- -- - --------------------- ---- ------ --------------------------- -- ------ ---------- ---------------- - ---------------------- -- - -------------------- --- ------------------------------- ----------------------- --- - --- ---------------------- -- -- - -------------------- ------------ ---展开代码
检索任务结果
任务将在HKube集群中运行并提供结果。我们可以使用以下代码检索结果:
const { getResults } = require("@hkube/worker"); const results = await getResults({ jobId, nodeName });
结果将作为一个JSON对象返回,包含任务ID和输出数据。
总结
本教程介绍了如何使用 @hkube/hkube 包向HKube引擎提交任务并检索任务结果。通过学习本教程,您将能够使用HKube引擎管理大规模的机器学习、深度学习和数据处理任务。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/140207