4.6 KiB
Install Kubeflow Model Registry
This folder contains Kubeflow Model Registry Kustomize manifests
Overview
This is the full installation guide, for a quick install in an existing Kubeflow installation, follow these instructions.
Ensure you are running all these commands from the directory containing this README.md file (e.g.: you could check with pwd).
Kubeflow Central Dashboard Installation
These instructions assume that you've installed Kubeflow from the manifests, if you're using a distribution consult its documentation instead.
Kubeflow Central Dashboard uses Profiles to handle user namespaces and permissions. By default, the manifests deploy the Model Registry instance in the kubeflow namespace, to install a compatible version of Model Registry for Kubeflow, you should deploy a separate instance of Model Registry in the profile's namespace. For that just run:
PROFILE_NAME=<your-profile>
for DIR in options/istio overlays/db ; do (cd $DIR; kustomize edit set namespace $PROFILE_NAME; kubectl apply -k .); done
⚠️ Warning: If you're not sure of the profile name, you can find it in the name space drop-down on the Kubeflow Dashboard.
Check everything is up and running:
kubectl wait --for=condition=available-n ${PROFILE_NAME} deployment/model-registry-deployment --timeout=2m
kubectl logs -n ${PROFILE_NAME} deployment/model-registry-deployment
Now, to install the Model Registry UI as a Kubeflow component, you need first to deploy the Model Registry UI:
kubectl apply -k options/ui/overlays/istio -n kubeflow
And then to make it accessible through Kubeflow Central Dashboard, you need to edit the centraldashboard-config ConfigMap to add the Model Registry UI link to the Central Dashboard by running the following command:
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
Alternatively, you can edit the ConfigMap manually by running:
kubectl edit configmap -n kubeflow centraldashboard-config
apiVersion: v1
data:
links: |-
{
"menuLinks": [
{
"icon": "assignment",
"link": "/model-registry/",
"text": "Model Registry",
"type": "item"
},
...
Now you should be able to see the Model Registry UI in the Kubeflow Central Dashboard, and access to the Model Registry deployment in the profile namespace.
Uninstall
To uninstall the Kubeflow Model Registry run:
# Uninstall Model Registry Instance
PROFILE_NAME=<your-profile>
for DIR in options/istio overlays/db ; do (cd $DIR; kustomize edit set namespace $PROFILE_NAME; kubectl delete -k .); done
# Uninstall Model Registry UI
kubectl delete -k options/ui/overlays/istio -n kubeflow
Model Registry as a separate component Installation
The following instructions will summarize how to deploy Model Registry as separate component in the context of a default Kubeflow >=1.9 installation.
kubectl apply -k overlays/db
As the default Kubeflow installation provides an Istio mesh, apply the necessary manifests:
kubectl apply -k options/istio
Check everything is up and running:
kubectl wait --for=condition=available -n kubeflow deployment/model-registry-deployment --timeout=2m
kubectl logs -n kubeflow deployment/model-registry-deployment
Optionally, you can also port-forward the REST API container port of Model Registry to interact with it from your terminal:
kubectl port-forward svc/model-registry-service -n kubeflow 8081:8080
And then, from another terminal:
curl -sX 'GET' \
'http://localhost:8081/api/model_registry/v1alpha3/registered_models?pageSize=100&orderBy=ID&sortOrder=DESC' \
-H 'accept: application/json' | jq
Usage
For a basic usage of the Kubeflow Model Registry, follow the Kubeflow Model Registry getting started documentation
Uninstall
To uninstall the Kubeflow Model Registry run:
# Delete istio options
kubectl delete -k options/istio
# Delete model registry db and deployment
kubectl delete -k overlays/db