We use analytics and cookies to understand site traffic. Information about your use of our site is shared with Google for that purpose.You can read our privacy policies and terms of use etc by clicking here.
Seldon Deploy
This page contains instructions and details for the advanced instalallation of Seldon Deploy and Seldon Core.
Note
Before starting the installation procedure, please download installation resources as explained here and make sure that all pre-requisites are satisfied.Prepare seldon-system namespace
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"
Seldon Deploy (installation)
Before installing Seldon Deploy we need to create a secret in Kubernetes that will store Docker Hub credentials required to download the Seldon Deploy images. Following script will create a regcred
secret in the seldon-system
namespace:
kubectl create secret docker-registry regcred \
--namespace=seldon-system \
--docker-server=index.docker.io \
--docker-username=${DOCKER_USER} \
--docker-password=${DOCKER_PASSWORD} \
--docker-email=${DOCKER_EMAIL} \
--dry-run -o yaml | kubectl apply -f -
Once secret is created we can install a vanilla version of Seldon Deploy:
helm upgrade seldon-deploy ./seldon-deploy-install/sd-setup/helm-charts/seldon-deploy/ \
--set image.image=seldonio/seldon-deploy:1.0.0 \
--set virtualService.create=false \
--set requestLogger.create=false \
--set gitops.argocd.enabled=false \
--set enableAppAuth=false \
--namespace=seldon-system \
--install
Now we can just wait until the Seldon Deploy roll-out finishes
kubectl rollout status deployment/seldon-deploy -n seldon-system
Note that due the flags set above this vanilla version of seldon deploy would lack certain features such as request logging and gitops.
Seldon Deploy (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.
Installation options can be set in two ways:
- Using yaml values file specified with helm
-f
flag (recommended) - Using helm
--set
flags
Please, see helm upgrade --help
and official documentation for more information.
Using a yaml file with values is recommended as it provides a more reproducible installation.
The default installation values are defined in the helm-charts and can be viewed with
cat seldon-deploy-install/sd-setup/helm-charts/seldon-deploy/values.yaml
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.
Following deploy-values.yaml
file is equivalent to presented above --set
options
image:
image: seldonio/seldon-deploy:1.0.0
rbac:
clusterWide: true
virtualService:
create: false
requestLogger:
create: false
gitops:
argocd:
enabled: false
enableAppAuth: false
You can install Seldon Deploy using the above values file with following command
helm upgrade seldon-deploy ./seldon-deploy-install/sd-setup/helm-charts/seldon-deploy/ \
-f deploy-values.yaml \
--namespace=seldon-system \
--install
Seldon Core (installation)
Seldon Core can be installed using published helm-charts. To add helm charts we can use following script
helm repo add seldonio https://storage.googleapis.com/seldon-charts
helm repo update
You can now install Seldon Core without any integrations with the script below. Make sure to follow relevant individual feature workflow installation sections to enable specific features. For further detail on each of the parameters available in the installation script you can read the helm chart values section in the seldon core documentation.
helm upgrade seldon-core seldonio/seldon-core-operator \
--version 1.5.0 \
--namespace seldon-system \
--install
Seldon Core (configuration)
Similarly to the Seldon Deploy case we will assume that there is a core-values.yaml
file specifying Seldon Core related configurations. The helm command will now read
helm upgrade seldon-core seldonio/seldon-core-operator \
-f core-values.yaml \
--version 1.5.0 \
--namespace seldon-system \
--install
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 Visibility documentation.