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.
Important
Make sure to have the ansible
directory from the unpacked resources as your current working directory, and to activate your virtual environment.
This installation method runs everything in a kind
cluster on the local machine, with reduced resources compared to the cloud.
All the functionality is available, but be aware that it may consume a lot of resources to run a full setup.
The following command will install kind
, create a cluster, and set it as the current Kubernetes context:
ansible-playbook playbooks/kind-cluster.yaml
Note
The kind
binary used by Ansible will be obtained automatically, separate from any existing binaries you may have.
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>
.