Istio AB Test

Setup Seldon Core

Use the setup notebook to Setup Cluster with Istio Ingress and Install Seldon Core. Instructions also online.

!kubectl create namespace seldon
namespace/seldon created
!kubectl config set-context $(kubectl config current-context) --namespace=seldon
Context "kind-kind" modified.
from IPython.core.magic import register_line_cell_magic


@register_line_cell_magic
def writetemplate(line, cell):
    with open(line, "w") as f:
        f.write(cell.format(**globals()))

Ensure the istio ingress gatewaty is port-forwarded to localhost:8004

  • Istio: kubectl port-forward $(kubectl get pods -l istio=ingressgateway -n istio-system -o jsonpath='{.items[0].metadata.name}') -n istio-system 8004:8080

ISTIO_GATEWAY = "localhost:8004"

VERSION = !cat ../../../version.txt
VERSION = VERSION[0]
VERSION

Launch main model

We will create a very simple Seldon Deployment with a dummy model image seldonio/mock_classifier:1.0. This deployment is named example.

Get predictions

REST Request

Launch Canary

We will now extend the existing graph and add a new predictor as a canary using a new model seldonio/mock_classifier_rest:1.1. We will add traffic values to split traffic 75/25 to the main and canary.

Show our REST requests are now split with roughly 25% going to the canary.

Following checks number of prediction requests processed by default/canary predictors respectively.

Last updated

Was this helpful?