Upgrading to 2.1.0

Upgrading to Seldon Deploy Advanced from previous versions of Seldon Deploy.

Warning

To activate Seldon Deploy Advanced you will need a new license. If you have not obtained one already contact your account manager prior to starting the upgrading process.

Regular Installation Upgrade

Seldon Core

For Seldon Core v1, we now recommend using version 1.16. Refer to the documentation for more details. This will only run on Kubernetes clusters that are on version 1.23+. For a more complete Core-Kubernetes matrix, you can consult the Core documentation.

For Seldon Core v2, we now recommend using version 2.5.0. More information on this can be in the Core v2 installation documentation.

Seldon Deploy Installation Upgrade

To upgrade Seldon Deploy itself, you should upgrade your Helm values and run the helm upgrade ... command as described here. In the following sections we describe the changes that you need to make to your Helm values and you can execute these with:

helm upgrade seldon-deploy seldon-charts/seldon-deploy \
    -f deploy-values.yaml \
    --namespace=seldon-system \
    --version 2.1.0 \
    --install

Helm values: Deploy

Within the deploy-values.yaml, which you can create or re-use from the installation, you should update the image to:

image:
  image: seldonio/seldon-deploy-server:2.1.0

This will update Seldon Deploy to version 2.1.0.

Helm values: Core v1 / Core v2 / Knative

Helm values related to default enablement of Core v1, Core v2 and Knative are now set to false. Yo may need to enable them in your Deploy helm values:

seldon:
  enabled: true
  knativeEnabled: true

seldonCoreV2:
  enabled: true

Helm values: Prometheus

In addition to this, the default namespace for anything metrics-related has changed from seldon-system to seldon-monitoring. If your current Prometheus installation is in seldon-system namespace you will need to update the Helm values to reflect this:

env:
  ALERTMANAGER_URL: "http://seldon-monitoring-alertmanager.seldon-system:9093/api/v1/alerts"

prometheus:
  seldon:
    url: "http://seldon-monitoring-prometheus.seldon-system:9090/api/v1/"

where seldon-system is the namespace you want to use.

Alternatively, you can also choose to install and configure Prometheus in the seldon-monitoring namespace instead.

Helm values: RBAC

The last Helm value change, which might be required for you, would be to either enable namespace label authorization, called nsLabelAuth below, or disable it if you have OPA enabled. In the latter case, which is the recommended case, the corresponding Helm values look like this:

rbac:
  opa:
    enabled: true
  nsLabelAuth:
    enabled: false

For more information on this you can consult the Authorization documentation.

Update Monitoring

Some of Deploy’s usage rules have changed, which will require an update. The updated rules can be found in the reference configuration under metrics/deployment-usage-rules.yaml. This is described here. Please change the namespace to the namespace you have installed Prometheus in.

OpenShift Installation Upgrade

Full documentation for installing Seldon Deploy Advanced on OpenShift clusters can be found here.

Elastic Cluster Version 8

Now you can use Elastic Cluster version 8 with the below example config:

spec:
  version: 8.7.0
  nodeSets:
    - name: default
      config:
        node.roles:
          - master
          - data
        node.attr.attr_name: attr_value
        node.store.allow_mmap: false
      podTemplate:
        metadata:
          labels:
            foo: bar

Cluster Log Forwarder

The recommended configuration of ClusterLogForwarder resource has been updated with the below example of using

    outputs:
  - elasticsearch:
      version: 8
    name: remote-elasticsearch
    secret:
      name: seldon-elasticsearch
    type: elasticsearch
    url: https://elasticsearch-seldon-es-http.seldon-logs:9200

to support using elastic search version 8. See documentation for more details.

Monitoring Update

Deploy’s model usage rules have changed from this version, which will require an update. The updated rule file can be found in the Appendix section of the OpenShift installation docs. Please replace the existing model usage prometheus rule in the model namespaces with the new one using the command oc apply -f deployment-usage-rules.yaml -n <model-namespace-name>