-
Notifications
You must be signed in to change notification settings - Fork 831
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
implement rclone-based storage.py equivalent #2942
implement rclone-based storage.py equivalent #2942
Comments
We should then use the said Python API then in our jupyter notebooks exmaples that require artefacts operations, for example: https://docs.seldon.io/projects/seldon-core/en/latest/examples/minio-sklearn.html |
With Minio's mc config host add gcs https://storage.googleapis.com "" ""
mc config host add minio-seldon http://localhost:8090 minioadmin minioadmin
mc mb minio-seldon/iris -p
mc cp gcs/seldon-models/sklearn/iris/model.joblib minio-seldon/iris/ The
or equivalent environmental variable config RCLONE_CONFIG_MINIO_SELDON_TYPE=s3
RCLONE_CONFIG_MINIO_SELDON_PROVIDER=minio
RCLONE_CONFIG_MINIO_SELDON_ENV_AUTH=false
RCLONE_CONFIG_MINIO_SELDON_ACCESS_KEY_ID=minioadmin
RCLONE_CONFIG_MINIO_SELDON_SECRET_ACCESS_KEY=minioadmin
RCLONE_CONFIG_MINIO_SELDON_ENDPOINT=http://localhost:8090
RCLONE_CONFIG_GCS_TYPE=google cloud storage
RCLONE_CONFIG_GCS_ANONYMOUS=true with command being rclone copy gcs:seldon-models/sklearn/iris/model.joblib minio-seldon:iris/ |
Ad 1. Public S3 may be tricky as often it requires to configure region first. It seems we do not use examples from AWS S3 so I believe the only out-of-the-box compatibility should be for example models we have on Google Cloud, e.g. This can be easily done by embedding these two env variable into the image
Ad 2. It turns out that Rclone seems to ignore the leading slashes so Ad 3. TBC but IMO does not bring benefit in the long run as it only adds complexity and maintenance burden - much better to ask users to redefine secrets using rclone-compatible format. Ad 4. Not a priority for making rclone-based init containers a default one. It's a nice to have but can be can be done as follow up. Considering above in order to make https://github.com/SeldonIO/seldon-core/tree/master/components/rclone-storage-initializer a default Storage Initializer I suggest following:
|
Initial tests with
rclone
are very positive. Library performs very well, is easy to use, ticks all of the boxes and community is really great and fast responding.We already have an example on building rclone-based init container here.
There are however few things to consider:
s3://seldon/sklearn/iris
vss3:seldon/sklearn/iris
format that rclone would prefer)This probably closes #1028
Note:
storage.py
is used here more in context of kfserving storage initializer mechanism than actual python packageThe text was updated successfully, but these errors were encountered: