安装

如何设置 Model Registry

本节详细介绍如何在 Kubernetes 集群上使用 Kubeflow 设置和配置 Model Registry。

先决条件

以下是安装 Model Registry 的最低要求

安装 Model Registry

Kubeflow Model Registry 可以作为 Kubeflow 平台的一部分安装,也可以作为独立组件安装。最适合您的选项将取决于您的具体要求。

在 Kubeflow 平台安装

Kubeflow Model Registry 在 Kubeflow Platform 1.9+ 中作为可选的 alpha 组件提供,请参阅安装 Kubeflow 了解有关部署 Kubeflow 平台的更多信息。

这些说明假定您已从 manifests 安装了 Kubeflow,如果您使用的是分发版本,请查阅其文档。

克隆 model-registry 仓库

git clone --depth 1 -b v0.2.16 https://github.com/kubeflow/model-registry.git

切换到 manifests/kustomize 目录以执行本节的其余命令

cd model-registry/manifests/kustomize

Kubeflow Central Dashboard 使用 Profiles 处理用户命名空间和权限。默认情况下,manifests 将 Model Registry 部署在 kubeflow 命名空间中,要为 Kubeflow 安装兼容的 Model Registry 版本,您应该将其部署到您的 profile 命名空间中。使用以下命令修改您的 profile 的 manifests

PROFILE_NAME=<your-profile>
for DIR in options/istio overlays/db ; do (cd $DIR; kustomize edit set namespace $PROFILE_NAME); done

现在应用 manifests

kubectl apply -k overlays/db
kubectl apply -k options/istio
kubectl apply -k options/ui/overlays/istio

Pod 可能需要几分钟才能准备就绪,您可以检查 profile 命名空间中 Pod 的状态

kubectl get pods -n $PROFILE_NAME -w

最后,在 Kubeflow 控制面板中配置 Model Registry 链接

kubectl get configmap centraldashboard-config -n kubeflow -o json | jq '.data.links |= (fromjson | .menuLinks += [{"icon": "assignment", "link": "/model-registry/", "text": "Model Registry", "type": "item"}] | tojson)' | kubectl apply -f - -n kubeflow

独立安装

还可以将 Model Registry 作为独立部署安装,与 Kubeflow 分开。

默认情况下,manifests 将 Model Registry 部署在 kubeflow 命名空间中;您必须确保 kubeflow 命名空间可用(例如:kubectl create namespace kubeflow)或将 kustomization 文件修改为您想要的命名空间。

请查看 kubeflow/model-registry 仓库的 GitHub 发布页面上的可用版本列表。要安装特定版本的 Model Registry,请使用所需的 ref=<GIT_TAG> 修改以下命令。

运行以下命令安装 v0.2.16 版本的 Model Registry

MODEL_REGISTRY_VERSION=0.2.16
kubectl apply -k "https://github.com/kubeflow/model-registry/manifests/kustomize/overlays/db?ref=v${MODEL_REGISTRY_VERSION}"

如果您的 Kubernetes 集群使用 Istio,您必须应用 Istio 兼容性 manifests(例如,在使用完整的 Kubeflow 平台时)。但是,对于非 Istio 集群,这些不是必需的。

MODEL_REGISTRY_VERSION=0.2.16
kubectl apply -k "https://github.com/kubeflow/model-registry/manifests/kustomize/options/istio?ref=v${MODEL_REGISTRY_VERSION}"

如果您希望 Kserve 能够支持 model-registry:// URI 格式,您必须应用集群范围的 CustomStorageContainer CR。

MODEL_REGISTRY_VERSION=0.2.16
kubectl apply -k "https://github.com/kubeflow/model-registry/manifests/kustomize/options/csi?ref=v${MODEL_REGISTRY_VERSION}"

检查 Model Registry 设置

您可以使用您的 Kubernetes 工具检查 Model Registry 部署的状态,例如使用

kubectl wait --for=condition=available -n kubeflow deployment/model-registry-deployment --timeout=1m
kubectl logs -n kubeflow deployment/model-registry-deployment

可选地,您还可以手动转发 Model Registry 的 REST API 容器端口并与REST API 进行交互,例如使用

kubectl port-forward svc/model-registry-service -n kubeflow 8081:8080
# in another terminal:
curl -X 'GET' \
  'http://localhost:8081/api/model_registry/v1alpha3/registered_models?pageSize=100&orderBy=ID&sortOrder=DESC' \
  -H 'accept: application/json' | jq

如果您没有收到 2xx 响应,可能是您尝试使用的 REST API 版本 (v1alphaX) 与预期不同。

在 Notebook 中执行检查

要在 Notebook 中检查与 Model Registry 的连接,请从 Notebook 环境启动终端,然后您可以使用以下命令进行连接测试

curl model-registry-service.kubeflow.svc.cluster.local:8080/api/model_registry/v1alpha3/registered_models

或者,您也可以使用以下命令

wget -nv -O- model-registry-service.kubeflow.svc.cluster.local:8080/api/model_registry/v1alpha3/registered_models

如果命令执行没有错误,您将收到来自 Model Registry 的 JSON 响应,表明连接和请求成功。

您可以在 Jupyter Notebook 单元格中使用相同的命令,在命令前加上 ! (例如: ! curl ...)。

后续步骤

  • 按照入门指南了解如何使用 Model Registry。

反馈

此页面有帮助吗?


最后修改于 2025年3月29日: website: Add dark theme (#3981) (4f092f1)