5. Local deployment instructions: KFP JupyterHub Kale KFServing - konsloiz/masters-thesis GitHub Wiki

1. Deploy Kubeflow Pipelines:

kubectl apply -k github.com/kubeflow/pipelines/manifests/kustomize/cluster-scoped-resources?ref=1.7.0
kubectl wait --for condition=established --timeout=60s crd/applications.app.k8s.io
kubectl apply -k github.com/kubeflow/pipelines/manifests/kustomize/env/dev?ref=1.7.0
kubectl port-forward -n kubeflow svc/ml-pipeline-ui 3000:80

You can access the Kubeflow Pipelines UI at http://localhost:3000/

2. JupyterHub

Important! You need to use this config.yaml

helm install jupyter jupyterhub/jupyterhub --version=v0.11.0 -f config.yaml -n kubeflow --timeout 180s
kubectl port-forward -n kubeflow svc/proxy-public 8888:80

You can access the Kubeflow Pipelines UI at http://localhost:8888/

This is the custom JupyterHub docker image.

3. KFServing

curl -s "https://raw.githubusercontent.com/kserve/kserve/release-0.7/hack/quick_install.sh" | bash
kubectl delete -f https://github.com/kserve/kserve/releases/download/v0.7.0/kserve.yaml
kubectl apply -f https://github.com/kubeflow/kfserving/releases/download/v0.6.0/kfserving.yaml

To enable Models UI:

# set the following ENV vars in the app's Deployment
kubectl edit -n kfserving-system deployments.apps kfserving-models-web-app
# APP_PREFIX: /
# APP_DISABLE_AUTH: "True"
# APP_SECURE_COOKIES: "False"

# expose the app under localhost:5000
kubectl port-forward -n kfserving-system svc/kfserving-models-web-app 5000:80

Authorizing Network Access to Deployment

kubectl port-forward svc/istio-ingressgateway -n istio-system 8080:80

To get predictions (for this example] using a CLI:

curl -X POST -v -H "Host: flower-sample.kubeflow.example.com" http://localhost:8080/v1/models/flower-sample:predict -d @tf_flowers_input.json

4. Some notebooks for testing

  1. Open-Vaccine
  2. Titanic
  3. Flowers - KFServing

5. More resources

KServe

From Notebook to Kubeflow Pipelines to KFServing