Helm Configurations

Seldon Core Operator Chart Configuration

This page provides a detailed overview of the installation parameters available for the Seldon Core installation when using Helm 3.x. The high level workflows to install Seldon Core can be found in the Installation Page.

You can find the values.yaml file of the seldon-core-operator Helm chart, which contains basically all the values that you can configure in your installation by using the set flag in the format --set value.path=YOUR_VALUE.

The file has been written to be self documented, and has information on all the core parameters. Further information is referenced in the file to specific documentation pages.

https://github.com/SeldonIO/seldon-core/blob/master/helm-charts/seldon-core-operator/values.yaml
# # Seldon Core Operator
# Below are the default values when installing Seldon Core

# Defaults to .Release.Namespace
namespaceOverride: ""

# ## Ingress Options
# You are able to choose between Istio and Ambassador

# If you have ambassador installed you can just use the enabled flag
ambassador:
  enabled: false
  version: v2
  singleNamespace: false
# When activating Istio, respecive virtual services will be created
# You must make sure you create the seldon-gateway as well
istio:
  enabled: false
  gateway: istio-system/seldon-gateway
  tlsMode: ""
# If you have KEDA installed you can use it for autoscaling
keda:
  enabled: false
# ## Install with Cert Manager
# See installation page in documentation for more information
certManager:
  enabled: false

# ## Install with limited namespace visibility
# If you want to ensure seldon-core-controller can only have visibility
#   to specify namespaces you can set the controllerId
controllerId: ""

# Whether operator should create the webhooks and configmap on startup (false means created from chart)
managerCreateResources: false

# Default user id to add to all Pod Security Context as the default
# Use this to ensure all container run as non-root by default
# For openshift leave blank as usually this will be injected automatically on an openshift cluster
# to all pods.
defaultUserID: "8888"

# runtime user to use for manager
managerUserID: 8888

# ## Service Orchestrator (Executor)
# The executor is the default service orchestrator which has superceded the "Java Engine"
executor:
  port: 8000
  metricsPortName: metrics
  image:
    pullPolicy: IfNotPresent
    registry: docker.io
    repository: seldonio/seldon-core-executor
    tag: 1.19.0-dev
  resources:
    cpuLimit: 500m
    cpuRequest: 500m
    memoryLimit: 512Mi
    memoryRequest: 512Mi
  prometheus:
    path: /prometheus
  serviceAccount:
    name: default
  user: 8888
# If you want to make available your own request logger for ELK integration you can set this
# For more information see the Production Integration for Payload Request Logging with ELK in the docs
  requestLogger:
    defaultEndpoint: 'http://default-broker'
    workQueueSize: 10000
    writeTimeoutMs: 2000
  # Whether to run full protocol API based health checks on models in deployment graph. False will just do TCP connects
  fullHealthChecks: false


# ## Seldon Core Controller Manager Options
image:
  pullPolicy: IfNotPresent
  registry: docker.io
  repository: seldonio/seldon-core-operator
  tag: 1.19.0-dev
manager:
  cpuLimit: 500m
  cpuRequest: 100m
  memoryLimit: 300Mi
  memoryRequest: 200Mi
  logLevel: INFO
  leaderElectionID: a33bd623.machinelearning.seldon.io
  leaderElectionResourceLock:
  leaderElectionLeaseDurationSecs: 15
  leaderElectionRenewDeadlineSecs: 10
  leaderElectionRetryPeriodSecs: 2
  annotations: {}
  containerSecurityContext: {}
  deploymentNameAsPrefix: false
  priorityClassName:
rbac:
  configmap:
    create: true
  create: true
serviceAccount:
  create: true
  name: seldon-manager
singleNamespace: false
storageInitializer:
  cpuLimit: "1"
  cpuRequest: 100m
  image: seldonio/rclone-storage-initializer:1.19.0-dev
  memoryLimit: 1Gi
  memoryRequest: 100Mi
usageMetrics:
  enabled: false
# In scenarios like EKS with non-standard CNI plugin like calico, the control plane cannot reach the webhook
# hence it is needed to set hostNetwork: true
hostNetwork: false
webhook:
  port: 4443 # If 'hostNetwork: true' you might need to change this port if it is already used by the node
metrics: # these are the metrics exposed by the controller pod
  port: 8080 # If 'hostNetwork: true' you might need to change this port if it is already used by the node

# ## Predictive Unit Values
predictiveUnit:
  httpPort: 9000
  grpcPort: 9500
  metricsPortName: metrics
  # If you would like to add extra environment variables to the init container to make available
  #   secrets such as cloud credentials, you can provide a default secret name that will be loaded
  #   to all the containers. You can then override this using the envSecretRefName in SeldonDeployments
  defaultEnvSecretRefName: ""
predictor_servers:
  MLFLOW_SERVER:
    protocols:
      seldon:
        defaultImageVersion: "1.19.0-dev"
        image: seldonio/mlflowserver
      v2:
        defaultImageVersion: "1.3.5-mlflow"
        image: seldonio/mlserver
  SKLEARN_SERVER:
    protocols:
      seldon:
        defaultImageVersion: "1.19.0-dev"
        image: seldonio/sklearnserver
      v2:
        defaultImageVersion: "1.3.5-sklearn"
        image: seldonio/mlserver
  TENSORFLOW_SERVER:
    protocols:
      seldon:
        defaultImageVersion: "1.19.0-dev"
        image: seldonio/tfserving-proxy
      tensorflow:
        defaultImageVersion: 2.1.0
        image:  tensorflow/serving
  XGBOOST_SERVER:
    protocols:
      seldon:
        defaultImageVersion: "1.19.0-dev"
        image: seldonio/xgboostserver
      v2:
        defaultImageVersion: "1.3.5-xgboost"
        image: seldonio/mlserver
  TRITON_SERVER:
    protocols:
      v2:
        defaultImageVersion: "21.08-py3"
        image: nvcr.io/nvidia/tritonserver
  HUGGINGFACE_SERVER:
    protocols:
      v2:
        defaultImageVersion: "1.3.5-huggingface"
        image: seldonio/mlserver
  TEMPO_SERVER:
    protocols:
      v2:
        defaultImageVersion: "1.3.5-slim"
        image: seldonio/mlserver

# ## Other
# You can choose the crds to not be installed if you already installed them
# This applies to just the yaml template. If you set managerCreateResources=true then
# it will try to create the CRD but only if it does not exist
crd:
  create: true
  # Whether to force the use of the v1beta1 or v1 CRD.
  forceV1: false
  forceV1beta1: false
  annotations: {} # Annotations to add to the CRD if not created by the Manager

# Warning: credentials will be depricated soon, please use defaultEnvSecretRefName above
# For more info please check the documentation
credentials:
  gcs:
    gcsCredentialFileName: gcloud-application-credentials.json
  s3:
    s3AccessKeyIDName: awsAccessKeyID
    s3SecretAccessKeyName: awsSecretAccessKey

kubeflow: false

# Explainer image
explainer:
  image: seldonio/alibiexplainer:1.19.0-dev
  image_v2: seldonio/mlserver:1.3.5-alibi-explain

Last updated

Was this helpful?