Repository for dip
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tenant-catalog/kubeflow/apps/model-registry/upstream/README.md

128 lines
4.6 KiB

# Install Kubeflow Model Registry
This folder contains [Kubeflow Model Registry](https://www.kubeflow.org/docs/components/model-registry/installation/) Kustomize manifests
## Overview
This is the full installation guide, for a quick install in an existing Kubeflow installation, follow [these instructions](https://www.kubeflow.org/docs/components/model-registry/installation/).
**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](https://github.com/kubeflow/manifests/), if you're using a distribution consult its documentation instead.
Kubeflow Central Dashboard uses [Profiles](https://www.kubeflow.org/docs/components/central-dash/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:
```sh
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:
```bash
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:
```bash
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:
```bash
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:
```bash
kubectl edit configmap -n kubeflow centraldashboard-config
```
```yaml
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:
```bash
# 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.
```bash
kubectl apply -k overlays/db
```
As the default Kubeflow installation provides an Istio mesh, apply the necessary manifests:
```bash
kubectl apply -k options/istio
```
Check everything is up and running:
```bash
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:
```bash
kubectl port-forward svc/model-registry-service -n kubeflow 8081:8080
```
And then, from another terminal:
```bash
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](https://www.kubeflow.org/docs/components/model-registry/getting-started/)
### Uninstall
To uninstall the Kubeflow Model Registry run:
```bash
# Delete istio options
kubectl delete -k options/istio
# Delete model registry db and deployment
kubectl delete -k overlays/db
```