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

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

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

    输出示例

    inferenceservice.serving.kserve.io/ovms-resnet50 created

    注意

    部署和 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"
    #...

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 文档)。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部