Repository to bring up Seldon core locally with minimal effort. This repo also lists the know issues and work around/fixes needed for installation, run Seldon Core out of the box sample notebooks with ease.
- Docker
- Kind K8S
- Kubectl
- grpcurl for gRPC: Command-line tool for interacting with gRPC servers
- MINIO - High performance Object Storage - MINIO Setup locally
- Helm
!git clone --branch 1.15.0-dev https://github.com/SeldonIO/seldon-core
kubectl get seldondeployments
kubectl describe seldondeployments <seldondeployment name>
kubectl describe svc <svc name>
kubectl get namespaces
kubectl get all -n istio-system
kubectl get svc -n istio-system
kubectl describe namespace default
kubectl describe namespace istio-system
kubectl get pods
kubectl describe pod <pod name>
which istioctl
istioctl version
istioctl proxy-status
istioctl proxy-config cluster <pod name>
istioctl install --set profile=default -y
istioctl install --set profile=demo -y
istioctl analyze
kubectl describe service/istio-ingressgateway -n istio-system
kubectl get svc istio-ingressgateway -n istio-system -oyaml
kubectl get ksvc,configuration,revision,route
kubectl get ingress
kubectl describe pod <pod name> -n seldon-system
kubectl describe svc sklearn-default
kubectl get svc istio-ingressgateway -n istio-system
kubectl describe svc istio-ingressgateway -n istio-system
kubectl get pods -n=istio-system
kubectl logs pods/<pod name> -n=istio-system
kubectl logs pod/<pod name> --tail=100
istioctl profile dump demo
kubectl logs <pod name/container id>
kubectl get gateway -n istio-system
kubectl describe gateway/seldon-gateway -n istio-system
kubectl get gateway --all-namespaces
kubectl delete all --all
- Label a K8s namespace for istio injection
kubectl label namespace seldon istio-injection=enabled
- Shows resources available in each node.
kubectl describe nodes
- Load docker image to kind cluster/control plane
kind load docker-image nvcr.io/nvidia/tritonserver:21.08-py3 --name seldon
docker exec kind-control-plane crictl images
- Scale Seldon deployment
!kubectl scale --replicas=4 sdep/<seldon deployment id>
- Open interactive shell to kind cluster
docker exec -it kind-control-plane bash
- list nodes/clusters/kubeconfig on kind cluster
kind get nodes
- To get details about K8s nodes
kubectl describe clusters/nodes/kubeconfig
kubectl cluster-info dump
- Get pod names with seldon deployment-id=model-server-triton
kubectl get pods -l seldon-deployment-id=model-server-triton -o custom-columns=:metadata.name
- Get all K8S objects in seldon namespace
kubectl get all -n seldon
- Get Kafka with strimzi operator
kubectl get Kafka
- Istio port forwarding
kubectl port-forward $(kubectl get pods -l istio=ingressgateway -n istio-system -o jsonpath='{.items[0].metadata.name}') -n istio-system 8004:8080
- Minio port forwarding
export POD_NAME=$(kubectl get pods --namespace minio-system -l "release=minio" -o jsonpath="{.items[0].metadata.name}") && kubectl port-forward $POD_NAME 9000 -n minio-system
- K8S component statuses
kubectl get componentstatuses
- delete deployment
kubectl delete deploy <deployment name> -n <namespace>
- scale down
kubectl scale --replicas=0 replicaset.apps/<replicaset name>
- Remove docker images
docker rmi $(docker images -f "dangling=true" -q)
- Delete namespace
kubectl delete namespace/<namespace name>
- Port forward for prometheus analytics.
kubectl port-forward -n seldon-system svc/seldon-core-analytics-prometheus-seldon 9007:80
. Openhttp://localhost:9007/
. - Delete Seldon deployments
kubectl delete sdep -n seldon <deployment name>
Reference: https://docs.seldon.io/projects/seldon-core/en/latest/examples/istio_examples.html
- open istio_example.ipynb
Reference: https://docs.seldon.io/projects/seldon-core/en/latest/examples/autoscaling_example.html
Reference: https://docs.seldon.io/projects/seldon-core/en/latest/examples/server_examples.html
Reference: https://docs.seldon.io/projects/seldon-core/en/latest/examples/metrics.html https://docs.seldon.io/projects/seldon-core/en/latest/analytics/analytics.html
- open triton_examples.ipynb
- git clone https://github.com/azure/azureml-examples
Reference: https://docs.seldon.io/projects/seldon-core/en/latest/python/index.html https://docs.primehub.io/docs/model-deployment-language-wrapper-python#pytorch
Reference: https://docs.seldon.io/projects/seldon-core/en/latest/examples/istio_canary.html
- Canary Deployments with istio Notebook
- Seldon/Iter8 - Progressive AB Test with Single Seldon Deployment
- Seldon/Iter8 - Progressive AB Test with Multiple Seldon Deployments
Reference: https://docs.seldon.io/projects/seldon-core/en/latest/examples/feedback_reward_custom_metrics.htm https://docs.seldon.io/projects/seldon-core/en/latest/analytics/analytics.html
Reference: https://github.com/oegedijk/explainerdashboard/blob/master/notebooks/explainer_examples.ipynb