1.8. 创建 InferenceService 自定义资源


创建 InferenceService 自定义资源(CR)来指示 KServe 如何创建用于部署服务您的 AI 模型。KServe 根据 InferenceService CR 中指定的 modelFormat 值使用 ServingRuntime

先决条件

  • 已配置了 ServingRuntimes CR。
  • 有对机器的 root 用户访问权限。
  • 已安装 OpenShift CLI (oc)。

流程

  1. 创建 InferenceService CR。

    带有 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:NCHW 
    1
    Copy to Clipboard Toggle word wrap

    1
    一个额外的参数,使 OpenVINO Model Server (OVMS)接受与最初导出模型不同的布局中的请求输入数据。额外的参数传递给 OVMS 容器。
  2. InferenceService 示例保存到文件中,然后运行以下命令在集群中创建它:

    $ oc create -n <ai_demo> -f ./FILE.yaml 
    1
    Copy to Clipboard Toggle word wrap
    1
    <ai_demo > 替换为您的命名空间名称。

    输出示例

    inferenceservice.serving.kserve.io/ovms-resnet50 created
    Copy to Clipboard Toggle word wrap

    注意

    部署和 pod 应该出现在指定的命名空间中。根据 ServingRuntime CR 中指定的镜像大小以及 ModelCar OCI 镜像的大小,pod 可能需要几分钟才能就绪。

后续步骤

  • 验证模型运行时是否已就绪。

1.8.1. 使用 Open Telemetry 导出模型-服务器指标

如果为 MicroShift 安装 microshift-observability RPM,您可以使用 Open Telemetry 导出 model-server 指标。

注意

您还可以通过在 /metrics 端点上发出请求来获取模型服务器的 Prometheus-format 指标。如需更多信息,请参阅"获得 model-server 指标"。

先决条件

  • 已配置了 ServingRuntimes CR。
  • 有对机器的 root 用户访问权限。
  • 已安装 OpenShift CLI (oc)。
  • 已安装 microshift-observability RPM。
  • 您的 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"
    #...
    Copy to Clipboard Toggle word wrap

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
#...
Copy to Clipboard Toggle word wrap

有关完整的 InferenceService 规格,请参阅 Control Plane API 参考 (KServe 文档)。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat