Learning Environment
Installing Seldon Enterprise Platform in a learning environment.
You can install Seldon Enterprise Platform on your local computer that is running a Kubernetes cluster using kind.
To install Seldon Enterprise Platform and Seldon Core 2 ecosystem components:
Prerequisites
- Install a Kubernetes cluster that is running version 1.23 or later. 
- Install kubectl, the Kubernetes command-line tool. 
- Install Helm, the package manager for Kubernetes. 
- Seldon Enterprise Platform license key. You can reach out to Seldon support team to get a trial license key. 
Creating Namespaces
- Create a namespace to contain the main components of Seldon. For example, create the namespace - seldon-system:- kubectl create ns seldon-system || echo "Namespace seldon-system already exists"
- Create a namespace to contain Kafka. For example, create the namespace - kafka:- kubectl create ns kafka || echo "Namespace kafka already exists"
- Create a namespace to contain the components related to request logging. For example, create the namespace - seldon-logs:- kubectl create ns seldon-logs || echo "Namespace seldon-logs already exists"
- Create a namespace that is accessible by Seldon Enterprise Platform, Seldon Core 2 runtime that defines core components required in each model, and Seldon Core 2 pre-configured servers to host the models. For example, create the namespace - seldon:- kubectl create ns seldon || echo "Namespace seldon already exists"
- Annotate the namespace - seldonso that it is accessible in the Seldon Enterprise Platform UI:- kubectl label ns seldon seldon.restricted=false --overwrite=true
Installing Seldon Core 2
- Add and update the Helm charts - seldon-chartsto the repository.- helm repo add seldon-charts https://seldonio.github.io/helm-charts/ helm repo update seldon-charts
- Install Custom resource definitions for Seldon Core 2. - helm upgrade seldon-core-v2-crds seldon-charts/seldon-core-v2-crds \ --version 2.8.5 \ --namespace default \ --install
- Create a YAML file to specify the initial configuration for Seldon Core 2 Operator. For example, create the - components-values.yamlfile. Use your preferred text editor to create and save the file with the following content:- controller: clusterwide: true dataflow: resources: cpu: 500m envoy: service: type: ClusterIP kafka: bootstrap: seldon-kafka-bootstrap.seldon-mesh:9092 topics: numPartitions: 4 opentelemetry: enable: false scheduler: service: type: ClusterIP serverConfig: mlserver: resources: cpu: 1 memory: 2Gi triton: resources: cpu: 1 memory: 2Gi serviceGRPCPrefix: "http2-"
- Change to the directory that contains the - components-values.yamlfile and then install Seldon Core 2 operator in the namespace- seldon-system.- helm upgrade seldon-core-v2-components seldon-charts/seldon-core-v2-setup \ --version 2.8.5 \ -f components-values.yaml \ --namespace seldon-system \ --install
- Install Seldon Core 2 runtimes in the namespace - seldon.- helm upgrade seldon-core-v2-runtime seldon-charts/seldon-core-v2-runtime \ --version 2.8.5 \ --namespace seldon \ --install
- Create a YAML file to specify the initial configuration for Seldon Core 2 servers. For example, create the - servers-values.yamlfile. Use your preferred text editor to create and save the file with the following content:- mlserver: replicas: 1 triton: replicas: 1
- Change to the directory that contains the - servers-values.yamlfile and then install Seldon Core 2 servers in the namespace- seldon.- helm upgrade seldon-core-v2-servers seldon-charts/seldon-core-v2-servers \ --version 2.8.5 \ -f servers-values.yaml \ --namespace seldon \ --install
Installating Seldon Enterprise Platform on a Kubernetes cluster
- Install Knative Eventing core components in the Kubernetes cluster. - kubectl apply -f https://github.com/knative/eventing/releases/download/knative-v1.12.2/eventing-crds.yaml kubectl apply -f https://github.com/knative/eventing/releases/download/knative-v1.12.2/eventing-core.yaml kubectl get crds | grep eventing.knative.dev
- Create a YAML file to specify the initial configuration. For example, create the - install-values.yamlfile. Use your preferred text editor to create and save the file with the following content:- image: image: seldonio/seldon-deploy-server:2.4.0 rbac: opa: enabled: false nsLabelsAuth: enabled: true virtualService: create: false requestLogger: kafka_consumer: enabled: true bootstrap_servers: seldon-kafka-bootstrap.kafka.svc.cluster.local:9092 group_id: metronome auto_offset_reset: earliest gitops: argocd: enabled: false enableAppAuth: false elasticsearch: basicAuth: false seldon: enabled: false knativeEnabled: false seldonCoreV2: enabled: true
- Change to the directory that contains the - install-values.yamlfile and then install Seldon Enterprise Platform in the namespace- seldon-system.- helm install seldon-enterprise seldon-charts/seldon-deploy --namespace seldon-system -f install-values.yaml --version 2.4.0- When the installation is successful, you should see this: - NAME: seldon-enterprise LAST DEPLOYED: Fri Jul 26 16:43:44 2024 NAMESPACE: seldon-system STATUS: deployed REVISION: 1 NOTES: 1. Get the application URL by running these commands: export POD_NAME=$(kubectl get pods --namespace seldon-system -l "app.kubernetes.io/name=seldon-deploy,app.kubernetes.io/instance=seldon-enterprise" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8000/seldon-deploy/ to use your application" kubectl port-forward $POD_NAME 8000:8000 --namespace seldon-system
- Check the status of the installation - seldon-enterprise-seldon-deploy.- kubectl rollout status deployment/seldon-enterprise-seldon-deploy -n seldon-system- When the installation is complete you should see this: - deployment "seldon-enterprise-seldon-deploy" successfully rolled out
- Get the Pod that is running Seldon Enterprise Platform in the cluster and save it as - $POD_NAME.- export POD_NAME=$(kubectl get pods --namespace seldon-system -l "app.kubernetes.io/name=seldon-deploy,app.kubernetes.io/instance=seldon-enterprise" -o jsonpath="{.items[0].metadata.name}")
- You can use port-forwarding to access your application. - kubectl port-forward $POD_NAME 8000:8000 --namespace seldon-system
- Open your browser and navigate to - http://127.0.0.1:8000/seldon-deploy/to access Seldon Enterprise Platform with Seldon Core 2 resources, operator, runtimes and servers. - Seldon Enterprise Platform 
- Apply the trial license and click Activate. 
Next
To explore the features of Seldon Enterprise Platform, you need to complete the installation of other components in the following order:
Additional Resources
Last updated
Was this helpful?
