Installation

Installation types

You can install Seldon Deploy by leveraging the two installation types:

  • Default Full Installation - Installer scripts for setting up a new cluster. It installs all Ecosystem frameworks, and configures Seldon Deploy with all the default values.
  • Advanced Custom Installation - Installer scripts for customising installation in existing clusters, with instructions on how to leverage existing services to integrate with Seldon Deploy.

Installation resources

In order to start install Seldon Deploy and its ecosystem you will need to download the scripts and configure your environment.

Download installation scripts

TAG=0.7.0 && \
    docker create --name=tmp-sd-container seldonio/seldon-deploy:$TAG && \
    docker cp tmp-sd-container:/seldon-deploy-dist/seldon-deploy-install.tar.gz . && \
    docker rm -v tmp-sd-container

tar -xzf seldon-deploy-install.tar.gz

Setup config file / environment

A config file needs to be setup before the cluster install. Use the following script to check or create an initial file to fill in.

cd seldon-deploy-install
./check-config

If your cloud provider is not GKE then set a CLOUD_PROVIDER env var. Options are ‘GKE’ (default if unset), ‘AWS’ or ‘AKS’. For another platform please contact seldon.

(see Configuration for more details)

Seldon Deploy installs into standard kubernetes clusters.

Ensure you have the correct current context set for your cluster, before starting the install.

Pre-requisites

Dockerhub

https://hub.docker.com/ Access needs to be granted explicitly by Seldon in order to access resources such as docker images. A dockerhub account is needed and its credentials will be needed to setup imagePullSecrets.

Kubernetes

https://kubernetes.io/docs/setup/ Seldon Deploy requires Kubernetes version greater than or equal to 1.12 and less than or equal to 1.16.

Cluster

GKE

For GKE we suggest a cluster with 2 n1-standard-8 nodes. This is 16vCPUs and 60GB RAM.

AWS

On AWS we suggest 4 t2.xlarge. This is to allow headroom to run models and because the full install includes kubeflow, knative, istio and the elastic and grafana-prometheus stacks.

Note

Fewer and larger worker nodes are suggested as this requires less resource for the control plane. On EKS in particular increasing resources for the control plane has to be done explicitly. Too few nodes can also lead to problems on EKS with pods per node.

Git

To use GitOps a github.com or bitbucket.org account is needed. You also need to create a personal access token for HTTPS access. GitOps is optional, but suggested.

Kubectl

https://kubernetes.io/docs/tasks/tools/install-kubectl/ You must use a kubectl version that is within one minor version difference of your cluster.

Helm

https://helm.sh/docs/intro/install/ Version 3.0.0 or greater is required.

Last modified July 8, 2020: update menu for v0.7 branch (488b01d)