Advanced Helm Chart Configuration¶

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.

Below 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.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
# # 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.17.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.17.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.17.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.17.0-dev"
        image: seldonio/mlflowserver
      v2:
        defaultImageVersion: "1.3.3-mlflow"
        image: seldonio/mlserver
  SKLEARN_SERVER:
    protocols:
      seldon:
        defaultImageVersion: "1.17.0-dev"
        image: seldonio/sklearnserver
      v2:
        defaultImageVersion: "1.3.3-sklearn"
        image: seldonio/mlserver
  TENSORFLOW_SERVER:
    protocols:
      seldon:
        defaultImageVersion: "1.17.0-dev"
        image: seldonio/tfserving-proxy
      tensorflow:
        defaultImageVersion: 2.1.0
        image:  tensorflow/serving
  XGBOOST_SERVER:
    protocols:
      seldon:
        defaultImageVersion: "1.17.0-dev"
        image: seldonio/xgboostserver
      v2:
        defaultImageVersion: "1.3.3-xgboost"
        image: seldonio/mlserver
  TRITON_SERVER:
    protocols:
      v2:
        defaultImageVersion: "21.08-py3"
        image: nvcr.io/nvidia/tritonserver
  HUGGINGFACE_SERVER:
    protocols:
      v2:
        defaultImageVersion: "1.3.3-huggingface"
        image: seldonio/mlserver
  TEMPO_SERVER:
    protocols:
      v2:
        defaultImageVersion: "1.3.3-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.17.0-dev
  image_v2: seldonio/mlserver:1.3.3-alibi-explain