Files
service-catalog/charts/kubeflow/contrib/seldon/README.md
T
2025-01-13 02:31:27 +00:00

93 lines
2.2 KiB
Markdown

# Seldon Core
[Seldon Core](https://github.com/SeldonIO/seldon-core/) is a framework to deploy your machine learning models on Kubernetes at scale.
# Requirements
* Kubernetes 1.18 - 1.24
Support for Kubernetes 1.25 is currently part of [SeldonIO/seldon-core#4172](https://github.com/SeldonIO/seldon-core/pull/4172)
## Install Seldon Core Operator
* The yaml assumes you will install in kubeflow namespace
* You need to have installed istio first
```
kustomize build seldon-core-operator/base | kubectl apply -n kubeflow -f -
```
## Updating
See [UPGRADE.md](UPGRADE.md)
## Testing
```
make test
```
# Overview
We can create a test model once the "Install Seldon Operator" is configured
```
# Create namespace for model
kubectl create namespace seldon
```
We can create an echo model with the following command:
```
kubectl apply -f - << ENDapiVersion: machinelearning.seldon.io/v1
kind: SeldonDeployment
metadata:
name: echo
namespace: seldon
spec:
predictors:
- name: default
replicas: 1
graph:
name: classifier
type: MODEL
componentSpecs:
- spec:
containers:
- image: seldonio/echo-model:1.17.1
name: classifier
END
```
We can verify that model is running:
```
kubectl get pods -n seldon
NAME READY STATUS RESTARTS AGE
echo-default-0-classifier-679cb5fb68-qd4nm 2/2 Running 0 25m
```
Also we can verify that the correct virtualservice was created:
```
kubectl get virtualservice -n seldon
NAME GATEWAYS HOSTS AGE
echo ["kubeflow/kubeflow-gateway"] ["*"] 42m
```
Finally we can send a request (you will need to fetch the Dex Auth Token / Cookie):
```
export CLUSTER_IP=# Your cluster IP
export SESSION=# Your dex session
curl -H "Content-Type: application/json" -H "Cookie: authservice_session=${SESSION}" \
-d '{"data": {"ndarray":[[1.0, 2.0, 5.0]]}}' \
http://{CLUSTER_IP}/seldon/seldon/echo/api/v1.0/predictions
{"data":{"names":["t:0","t:1","t:2"],"ndarray":[[1.0,2.0,5.0]]},"meta":{"metrics":[{"key":"mycounter","type":"COUNTER","value":1},{"key":"mygauge","type":"GAUGE","value":100},{"key":"mytimer","type":"TIMER","value":20.2}],"requestPath":{"classifier":"seldonio/echo-model:1.17.1"}}}
```