1.8. 创建 InferenceService 自定义资源
创建 InferenceService 自定义资源(CR)来指示 KServe 如何创建用于部署服务您的 AI 模型。KServe 根据 InferenceService CR 中指定的 modelFormat 值使用 ServingRuntime。
先决条件
-
已配置了
ServingRuntimesCR。 - 有对机器的 root 用户访问权限。
-
已安装 OpenShift CLI (
oc)。
流程
创建
InferenceServiceCR。带有
openvino_ir模型格式的InferenceService对象示例apiVersion: serving.kserve.io/v1beta1 kind: InferenceService metadata: name: ovms-resnet50 spec: predictor: model: protocolVersion: v2 modelFormat: name: openvino_ir storageUri: "oci://localhost/ovms-resnet50:test" args: - --layout=NHWC:NCHW1 - 1
- 一个额外的参数,使 OpenVINO Model Server (OVMS)接受与最初导出模型不同的布局中的请求输入数据。额外的参数传递给 OVMS 容器。
将
InferenceService示例保存到文件中,然后运行以下命令在集群中创建它:$ oc create -n <ai_demo> -f ./FILE.yaml1 - 1
- 将 <ai_demo > 替换为您的命名空间名称。
输出示例
inferenceservice.serving.kserve.io/ovms-resnet50 created注意部署和 pod 应该出现在指定的命名空间中。根据
ServingRuntimeCR 中指定的镜像大小以及 ModelCar OCI 镜像的大小,pod 可能需要几分钟才能就绪。
后续步骤
- 验证模型运行时是否已就绪。
1.8.1. 使用 Open Telemetry 导出模型-服务器指标 复制链接链接已复制到粘贴板!
如果为 MicroShift 安装 microshift-observability RPM,您可以使用 Open Telemetry 导出 model-server 指标。
您还可以通过在 /metrics 端点上发出请求来获取模型服务器的 Prometheus-format 指标。如需更多信息,请参阅"获得 model-server 指标"。
先决条件
-
已配置了
ServingRuntimesCR。 - 有对机器的 root 用户访问权限。
-
已安装 OpenShift CLI (
oc)。 -
已安装
microshift-observabilityRPM。 - 您的 MicroShift Open Telemetry 配置包含 Prometheus Receiver。如需更多信息,请参阅 Prometheus Receiver。
流程
在您的
InferenceService自定义资源中添加以下 Open Telemetry 注解:使用 Open Telemetry 的
InferenceService对象示例apiVersion: serving.kserve.io/v1beta1 kind: InferenceService metadata: name: ovms-resnet50 #... annotations: prometheus.io/scrape: "true" #...
1.8.2. 更多 InferenceService CR 选项 复制链接链接已复制到粘贴板!
inference 服务 YAML 文件可以包含多个不同的选项。例如,您可以包含首先传递给部署的 resources 部分,然后传递给 pod,以便模型服务器通过设备插件访问硬件。
InferenceService CR 中的 NVIDIA 设备 资源 片断示例
apiVersion: serving.kserve.io/v1beta1
kind: InferenceService
metadata:
name: is-name
spec:
predictor:
model:
resources:
limits:
nvidia.com/gpu: 1
requests:
nvidia.com/gpu: 1
#...
有关完整的 InferenceService 规格,请参阅 Control Plane API 参考 (KServe 文档)。