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>