Upgrading to 2.2.0¶
Upgrading to Seldon Enterprise Platform from previous versions of Seldon Deploy (Seldon Enterprise Platform now).
Regular Installation Upgrade¶
Seldon Core¶
For Seldon Core v1, we now recommend using version 1.17.1. Refer to the documentation for more details.
For Seldon Core v2, we now recommend using version 2.7.0. More information on this can be found in the Core v2 installation documentation.
When upgrading to 2.7.0 you can now choose to install the operator namespaced or cluster-wide.
First of all, you’ll have to install the upgraded CRD chart for 2.7.0.
Afterwards, there are a couple different scenarios that can happen now (all examples below assume the Core v2 operator was installed in namespace seldon
):
Upgrade from 2.5.0 to 2.7.0 namespaced operator¶
add a
controller.clusterwide: false
flag to the Helm values setup chartupgrade the
seldon-core-v2-setup
chart to 2.7.0 inseldon
namespaceinstall the Seldon Runtime in
seldon
namespace
Upgrade from 2.5.0 to 2.7.0 cluster-wide operator in same setup chart as model¶
add a
controller.clusterwide: true
flag to the Helm values setup chartupgrade the
seldon-core-v2-setup
chart to 2.7.0 inseldon
namespaceinstall Seldon Runtime in
seldon
namespaceadd Seldon Runtime to all other namespaces that host models
Upgrade from 2.5.0 to 2.7.0 with a cluster-wide operator in seldon-system namespace¶
add a
controller.clusterwide: true
flag to the Helm values setup chartremove the previously installed
seldon-core-v2-setup
Helm chart inseldon
namespace (i.e. the namespace that was used before)add the setup chart to
seldon-system
namespace with version 2.7.0install Seldon Runtime in
seldon
namespace and all other namespaces that host models
If you’re using Seldon Servers Helm Chart, upgrade / install it like the Seldon Runtime in every namespace that host models. We recommend the third approach but note that in production this will quite possibly lead to timeouts of Seldon services for a short while. More information on the installation can be found in the Core v2 installation documentation as well.
Seldon Enterprise Platform Installation Upgrade¶
To upgrade Seldon Enterprise Platform 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.2.0 \
--install
Helm values: Enterprise Platform¶
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.2.0
This will update Seldon Enterprise Platform to version 2.2.0
.
Helm values: Elasticsearch and Request Logging¶
If you’ve used OpenSearch for request logging and want to continue using it, note that only Metronome 1.7.1 and below is compatible with OpenSearch.
requestLogger:
image: seldonio/metronome:1.7.1 # cannot be higher than 1.7.1
If you’ve used Elasticsearch for request logging, there is no need to modify your default helm values.
We recommend using the Elastic version of Elasticsearch for production use. Note that we only guarantee support for Elasticsearch 7.X.
Please refer to the Elasticsearch Installation documentation for more details.
Helm values: Theme Customization¶
If you’ve used the Theme Customization feature before, remove the volume and volume-mounts associated with the custom theme from your Helm charts as this feature is no longer supported.
Helm values: Drift Detection¶
The default image used for drift detection has changed. If you modified this Helm value you may need to update it manually in order to enable alerting on drift.
alibidetect:
image: seldonio/alibi-detect-server:1.17.1
Helm values: ClientGo Rate Limiter¶
You can now configure the QPS and the burst rate settings for the client-go
’s rate limiter. In this way, you can control the traffic sent from this library to the K8s api-server
based on your load.
Previously, the values being used were 5 and 10 respectively, as set as default in client-go
. You can configure these Helm values as follows:
clientGo:
rateLimiter:
qps: 250
burst: 250
You can find more information on the client-go
rate limiter in the official documentation.
Update Monitoring: Core v2 labels¶
From version 2.7.0 Core v2 components provisioned through the SeldonRuntime
operator will now have the label app.kubernetes.io/name
for identifying the pods.
Previously, the app label has been inconsistent across different versions of Seldon Core v2 (a mixture of app
and app.kubernetes.io/name
labels was used), so users should modify or configure their existing podmonitors accordingly.
See the corresponding section in the Seldon Core v2 installation documentation on how to create / update the required monitors.
Update Monitoring: Drift Alerting¶
A new Pod Monitor resource has been added to collect metrics required for alerting on drift for Core v1 deployments.
To add new PodMonitor
copy it from reference-configuration
, modify if required, and apply to your cluster as described in documentationhere
cp seldon-deploy-install/reference-configuration/metrics/drift-monitor.yaml drift-monitor.yaml
kubectl apply -n seldon-monitoring -f drift-monitor.yaml
New Prometheus Rules for alerting on drift for both Core v1 and Core v2 have been added.
To add new alerts, copy them from reference-configuration
, modify if required, and apply to your cluster as described in the documentation here.
cp seldon-deploy-install/reference-configuration/metrics/drift-alerts.yaml drift-alerts.yaml
kubectl apply -n seldon-monitoring -f drift-alerts.yaml
OpenShift Installation Upgrade¶
Full documentation for installing Seldon Enterprise Platform on OpenShift clusters can be found here.
Helm Values¶
Unless specified otherwise here, upgrade Helm values as described in the notes for Regular Installation Upgrade.
Update Monitoring: Core v2 labels¶
As described in the notes for Regular Installation Upgrade labels on certain Core v2 components have changed. Make sure that you update your Pod Monitors using new resources as described in the documentation here
Update Monitoring: Drift Alerting¶
As described in the notes for Regular Installation Upgrade new Pod Monitor and Alerting Rules are required to enable alerting on drift: