Seldon Deploy

This page contains instructions and details for the advanced installation of Seldon Deploy.

Prepare seldon namespaces

We start with creating a namespace that will hold Seldon’s main components, traditionally naming it seldon-system.

kubectl create ns seldon-system || echo "Namespace seldon-system already exists"

Also a namespace for any components related to request logging.

kubectl create ns seldon-logs || echo "Namespace seldon-logs already exists"

Installation

Seldon Deploy can be installed using published Helm charts. To add Helm charts run

Note

Contact your Seldon account manager or sales representative to access the Helm Charts.

helm repo add seldon-charts <PRIVATE>
helm repo update seldon-charts

To install a vanilla version of Seldon Deploy we need to specify initial configuration for the Helm installation. Create deploy-values.yaml file with following content

Note

Contact your Seldon account manager or sales representative to access the image.

image:
  image: seldonio/<PRIVATE>:2.1.1

rbac:
  clusterWide: true

virtualService:
  create: false

requestLogger:
  create: false

gitops:
  argocd:
    enabled: false

enableAppAuth: false

elasticsearch:
  basicAuth: false

seldon:
  enabled: false
  knativeEnabled: false

seldonCoreV2:
  enabled: false

You can install Seldon Deploy using the above values file with following command

helm upgrade seldon-deploy seldon-charts/seldon-deploy \
    -f deploy-values.yaml \
    --namespace=seldon-system \
    --version 2.1.1 \
    --install

Now we can just wait until the Seldon Deploy roll-out finishes

kubectl rollout status deployment/seldon-deploy -n seldon-system

Note

Note that due to the flags set above this vanilla version of Seldon Deploy lacks certain features such as request logging and gitops.

Configuration

Seldon Deploy is installed using helm-charts. It is recommended to use helm upgrade command with --install flag. This will allow to re-issue the command to bring new settings or upgrade the Seldon Deploy version.

The default installation values are defined in the helm-charts and can be viewed with

helm show values seldon-charts/seldon-deploy --version 2.1.1

You can view values set on your current installation with

helm get values -a -n seldon-system seldon-deploy

Note that -a flag tells helm to give you all values - skipping that flag you will only see values set by you explicitly on previous installation.

To upgrade Seldon Deploy installation simply modify your deploy-values.yaml file and re-run the helm upgrade ... command provided in previous section.

Ensuring visibility on namespaces

The seldon.restricted=false label is required on namespaces accessible by Seldon Deploy. If you don’t add this annotation to the namespace, you will not be able to see it in the UI.

kubectl create namespace seldon || echo "namespace seldon exists"
kubectl label ns seldon seldon.restricted=false --overwrite=true

For more information see our namespace setup documentation.