RClone Storage Initializer - upgrading your cluster (AWS S3 / MinIO)

In this documentation page we provide an example upgrade path from kfserving-based to rclone-based storage initializer. This is required due to the fact that secret format expected by these two storage initializers is different.

Storage initializers are used by Seldon's pre-packaged model servers to download models binaries. As it is explained in the SC 1.8 upgrading notes the seldonio/rclone-storage-initializer became default storage initializer in v1.8.0.

In this tutorial we aim to provide an intuition of the steps you will have to carry to migrate to the new rclone-based Storage Initializer with the context that every cluster configuration will be different, so you should be able to see this as something you can build from.

Read more:

Prerequisites

  • A kubernetes cluster with kubectl configured

  • mc client

  • curl

Steps in this tutorial

  • Start with SC configured to use kfserving-based storage initializer

  • Copy iris model from GCS into in-cluster minio

  • Deploy SKlearn Pre-Packaged server using kfserving storage initializer

    • Providing credentials using old-style storage initializer secret

    • Providing credentials using old-style storage initializer Service Account format

  • Extend secrets to include rclone-specific fields (patch Seldon Deployments where required)

  • Upgrade SC installation to use rclone-based storage initializer

Setup Seldon Core

Use the setup notebook to Setup Cluster with Ambassador Ingress and Install Seldon Core.

Set starting storage initializer to be kfserving one

Setup MinIO

Use the provided notebook to install Minio in your cluster and configure mc CLI tool.

Copy iris model into local MinIO

Deploy SKLearn Server with kfserving-storage-initializer

First we deploy the model using kfserving-storage-initializer. This is using the default Storage Initializer for pre Seldon Core v1.8.0.

Using envSecretRefName

Using serviceAccountName

Preparing rclone-compatible secret

The rclone-based storage initializer expects one to define a new secret. General documentation credentials hadling can be found here with constantly updated examples of tested configurations.

If we do not have yet an example for Cloud Storage solution that you are using, please, consult the relevant page on RClone documentation.

Updating envSecretRefName-specified secrets

Updating serviceAccountName-specified secrets and deployments

Upgrade Seldon Core to use new storage initializer

Cleanup

Last updated

Was this helpful?