3.2. 为现有 NIM 部署启用 NVIDIA NIM 指标
如果您之前在 OpenShift AI 中部署了 NIM 模型,然后升级到最新版本,则必须通过添加注解启用指标集合和图形生成来手动为现有部署启用 NIM 指标。
最新版本的 OpenShift AI 中的新部署会自动启用 NIM 指标和图形。
3.2.1. 为现有 NIM 部署启用图形生成 复制链接链接已复制到粘贴板!
以下流程描述了如何为现有 NIM 部署启用图形生成。
先决条件
- 具有集群管理员特权。
- 您已下载并安装 OpenShift 命令行界面 (CLI)。如需更多信息,请参阅安装 OpenShift CLI (Red Hat OpenShift Dedicated)或 安装 OpenShift CLI (Red Hat OpenShift Service on AWS)。
- 在 OpenShift AI 中已有 NIM 部署。
流程
- 在一个终端窗口中,如果您还没有以集群管理员身份登录到 OpenShift 集群,请登录 OpenShift CLI。
确认与 NIM 部署关联的
ServingRuntime的名称:oc get servingruntime -n <namespace>
oc get servingruntime -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<namespace> 替换为部署 NIM 模型的项目的命名空间。检查
ServingRuntime配置中现有的metadata.annotations部分:oc get servingruntime -n <namespace> <servingruntime-name> -o json | jq '.metadata.annotations'
oc get servingruntime -n <namespace> <servingruntime-name> -o json | jq '.metadata.annotations'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 <servingruntime-name> 替换为上一步中的
ServingRuntime的名称。执行以下操作之一:
如果配置中没有
metadata.annotations部分,请使用所需注解添加部分:oc patch servingruntime -n <namespace> <servingruntime-name> --type json --patch \ '[{"op": "add", "path": "/metadata/annotations", "value": {"runtimes.opendatahub.io/nvidia-nim": "true"}}]'oc patch servingruntime -n <namespace> <servingruntime-name> --type json --patch \ '[{"op": "add", "path": "/metadata/annotations", "value": {"runtimes.opendatahub.io/nvidia-nim": "true"}}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您会看到类似如下的输出:
servingruntime.serving.kserve.io/nim-serving-runtime patched
servingruntime.serving.kserve.io/nim-serving-runtime patchedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果已存在
metadata.annotations部分,请将所需的注解添加到部分中:oc patch servingruntime -n <project-namespace> <runtime-name> --type json --patch \ '[{"op": "add", "path": "/metadata/annotations/runtimes.opendatahub.io~1nvidia-nim", "value": "true"}]'oc patch servingruntime -n <project-namespace> <runtime-name> --type json --patch \ '[{"op": "add", "path": "/metadata/annotations/runtimes.opendatahub.io~1nvidia-nim", "value": "true"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您会看到类似如下的输出:
servingruntime.serving.kserve.io/nim-serving-runtime patched
servingruntime.serving.kserve.io/nim-serving-runtime patchedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
确认注解已添加到现有 NIM 部署的
ServingRuntime中。oc get servingruntime -n <namespace> <servingruntime-name> -o json | jq '.metadata.annotations'
oc get servingruntime -n <namespace> <servingruntime-name> -o json | jq '.metadata.annotations'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您添加的注解会显示在输出中:
... "runtimes.opendatahub.io/nvidia-nim": "true"
... "runtimes.opendatahub.io/nvidia-nim": "true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意要使指标可用于图形生成,还必须为您的部署启用指标集合。请参阅 为现有 NIM 部署启用指标集合。
3.2.2. 为现有 NIM 部署启用指标集合 复制链接链接已复制到粘贴板!
要为现有 NIM 部署启用指标集合,您必须手动将 Prometheus 端点和端口注解添加到部署的 InferenceService 中。
以下流程描述了如何将所需的 Prometheus 注解添加到 NIM 部署的 InferenceService 中。
先决条件
- 具有集群管理员特权。
- 您已下载并安装 OpenShift 命令行界面 (CLI)。如需更多信息,请参阅安装 OpenShift CLI (Red Hat OpenShift Dedicated)或 安装 OpenShift CLI (Red Hat OpenShift Service on AWS)。
- 在 OpenShift AI 中已有 NIM 部署。
流程
- 在一个终端窗口中,如果您还没有以集群管理员身份登录到 OpenShift 集群,请登录 OpenShift CLI。
确认与 NIM 部署关联的
InferenceService的名称:oc get inferenceservice -n <namespace>
oc get inferenceservice -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<namespace> 替换为部署 NIM 模型的项目的命名空间。检查
InferenceService配置中是否存在现有的spec.predictor.annotations部分:oc get inferenceservice -n <namespace> <inferenceservice-name> -o json | jq '.spec.predictor.annotations'
oc get inferenceservice -n <namespace> <inferenceservice-name> -o json | jq '.spec.predictor.annotations'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 <inferenceservice-name> 替换为上一步中的
InferenceService的名称。执行以下操作之一:
如果配置中不存在
spec.predictor.annotations部分,请添加这个部分和所需的注解:oc patch inferenceservice -n <namespace> <inference-name> --type json --patch \ '[{"op": "add", "path": "/spec/predictor/annotations", "value": {"prometheus.io/path": "/metrics", "prometheus.io/port": "8000"}}]'oc patch inferenceservice -n <namespace> <inference-name> --type json --patch \ '[{"op": "add", "path": "/spec/predictor/annotations", "value": {"prometheus.io/path": "/metrics", "prometheus.io/port": "8000"}}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您添加的注解会显示在输出中:
inferenceservice.serving.kserve.io/nim-serving-runtime patched
inferenceservice.serving.kserve.io/nim-serving-runtime patchedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果已存在
spec.predictor.annotations部分,请将 Prometheus 注解添加到部分中:oc patch inferenceservice -n <namespace> <inference-service-name> --type json --patch \ '[{"op": "add", "path": "/spec/predictor/annotations/prometheus.io~1path", "value": "/metrics"}, {"op": "add", "path": "/spec/predictor/annotations/prometheus.io~1port", "value": "8000"}]'oc patch inferenceservice -n <namespace> <inference-service-name> --type json --patch \ '[{"op": "add", "path": "/spec/predictor/annotations/prometheus.io~1path", "value": "/metrics"}, {"op": "add", "path": "/spec/predictor/annotations/prometheus.io~1port", "value": "8000"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您添加的注解会显示在输出中:
inferenceservice.serving.kserve.io/nim-serving-runtime patched
inferenceservice.serving.kserve.io/nim-serving-runtime patchedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
确认注解已添加到
InferenceService中。oc get inferenceservice -n <namespace> <inferenceservice-name> -o json | jq '.spec.predictor.annotations'
oc get inferenceservice -n <namespace> <inferenceservice-name> -o json | jq '.spec.predictor.annotations'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您会看到您在输出中添加的注解:
{ "prometheus.io/path": "/metrics", "prometheus.io/port": "8000" }{ "prometheus.io/path": "/metrics", "prometheus.io/port": "8000" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow