Trial Installation

Trial installations for setting up a new clusters

Warning

Use of Trial installation in production environments is not supported.

Warning

There is no upgrade path from Trial to Production installations.

Warning

Upgrading Trial installations to newer version of Seldon Deploy is not supported.

Trial Installation Options

These scripts will install the default configurations that can be used to trial Seldon Deploy. These provide a simple way to get you up and running to test the functionalities that we offer.

Important

Before starting the installation procedure, please download installation resources as explained here and make sure that all pre-requisites are satisfied.

Warning

Running full installation using the provided Ansible playbooks brings in all ecosystem dependencies like Istio, Knative, Prometheus Operator, OpenSearch, etc. If the target cluster already has these installed, this may lead to conflicts and broken installations. It is recommended to run trial installations against empty clusters.

Install Ansible

The trial installations all rely on Ansible playbooks and expect Python 3.7 or later; Python 3.8 is recommended. To install Ansible and the required dependencies for the playbooks, do the following:

  • Change into the unpacked ansible directory and create a virtual environment:

    cd seldon-deploy-install/ansible
    python3 -m venv venv
    source ./venv/bin/activate
    
  • Install the required Python dependencies:

    pip install -r requirements.txt
    
  • Install the required Ansible dependencies:

    ansible-galaxy install -r requirements.yml
    

Cluster Types

You will need a running Kubernetes cluster meeting the specified cluster requirements.

Ensure you have the correct current context set for your Kubernetes cluster before starting the installation process.

Simple Modular Installation

Important

Make sure to have the ansible directory from the unpacked resources as your current working directory, and to activate your virtual environment.

For AWS, the external_protocol Ansible variable should be set to http. If HTTPS is needed on AWS, then SSL should be configured on the istio gateway separately, not using the installer.

We will use an end-to-end installer which sets up Seldon Deploy and all of its ecosystem components.

These components include:

  • Seldon Core

  • Seldon Deploy

  • Request logging

  • Audit logging

  • GitOps with Gitea and ArgoCD

Install the Ecosystem

The first step will set up all the ecosystem components for Seldon Deploy. The second will install and configure Seldon Core and Deploy itself.

ansible-playbook playbooks/setup-ecosystem.yaml
ansible-playbook playbooks/setup-seldon.yaml

Open Policy Agent Authorization

To enable Open Policy Agent (OPA) authorization, the seldon_deploy_configure_opa variable must be set to true; this is the default.

To also use OPA to authorize projects, set the following (see here for ways to do this):

seldon_deploy_opa_enable_project_auth: true

Accessing Seldon Deploy

After installation, you can get the URL for the dashboard using:

ansible-playbook playbooks/endpoints.yaml

Configuring Ansible Playbooks

There are many ways of providing variables to configure playbooks. See the official documentation for full details.

The trial installation playbooks are written so that you should only need to make changes to variables, files, and templates under playbooks/vars, playbooks/files, and playbooks/templates respectively.

To specify a variables file to override the defaults for a playbook, use the -e @file_name syntax, e.g.:

ansible-playbook playbooks/setup-seldon.yaml -e @playbooks/vars/minimal.yaml

If you would like to try out overriding a setting, use the -e variable=value syntax, e.g.:

ansible-playbook playbooks/setup-seldon.yaml -e external_protocol=http

Note

Playbooks use the variables defined in playbooks/vars/default.yaml. Specifying extra variables with -e allows for overriding these defaults, but does not replace variables which have not been overridden.

If you need a completely different configuration, you can specify a replacement variables file with -e vars_file=<path to new configuration>.