Model Storage
A Model Catalog or Model Registry stores model metadata and the location of a model artifact. The model files themselves remain in a storage backend that the inference service can access. Supported storage backends are:
- S3 object storage: a Storage Initializer downloads the model before the main container starts.
- Persistent Volume Claim (PVC): a Storage Initializer loads the model from a mounted persistent volume.
- OCI container: also called a modelcar in KServe; the container runtime uses image layers and caching to load the model efficiently.
The artifact location is entered as a Model URI when registering a model version. For project-level S3, URI, or OCI endpoints managed in the UI, see Using Connections.
TOC
Choose a storage backendUsing S3 object storageAuthentication configurationDeploy an S3-backed modelUsing OCI containers for model storageUsing a PVC for model storageUpload model files to a PVCPrerequisitesProcedureDeploy a PVC-backed modelModel URI requirementsChoose a storage backend
After placing the model in storage, open AI Hub > Model Registry > Register Model and enter the URI. You can then deploy the active registered version from the Model Registry. A catalog entry may also provide an artifact URI and can be deployed directly from AI Hub > Model Catalog.
Using S3 object storage
S3 is commonly used for model storage. The inference service needs the endpoint and credentials through a Secret attached to a ServiceAccount, or through an S3 Connection selected in the console.
Authentication configuration
It is recommended to create a separate ServiceAccount and Secret for each project. The following example shows the KServe S3 Secret format:
- Replace
YOUR_ACCESS_KEYandYOUR_SECRET_KEYwith the credentials for your S3 service. 2. Replaceyour_s3_service_ip:your_s3_portwith the S3 endpoint. 3. Setserving.kserve.io/s3-usehttpsto"1"when the endpoint uses HTTPS. 4. Keep the Secret and ServiceAccount in the namespace where the inference service runs.
Deploy an S3-backed model
The following is a direct KServe example. In the console, the recommended
workflow is to register storageUri as the model artifact URI and create the
service from the active Model Registry version.
Replace the runtime with an installed ClusterServingRuntime. The
storageUri must point to the model directory in the S3 bucket, and the
ServiceAccount must be able to read the Secret.
Using OCI containers for model storage
You can package a model as an OCI image and push it to an OCI-compatible registry such as Harbor or Quay. Modelcar storage is useful for offline installations and for fast startup from a registry with node-side image caching.
Record the image reference as the Model URI, for example:
The inference cluster must be able to pull the image. Configure an OCI Connection when the registry is private. For packaging and deployment steps, see Using KServe Modelcar for Model Storage.
Using a PVC for model storage
Upload model files to a PVC
You can serve a model from an existing PVC. Upload the files from a Workbench that has the PVC attached:
Prerequisites
- You have access to the Alauda AI dashboard and target namespace.
- You have a running Workbench and a PVC.
- The Workbench is attached to the PVC.
- The model files are available on your local machine or in the Workbench.
For Workbench creation and PVC attachment, see Create Workbench.
Procedure
- In the Alauda AI dashboard, select Workbench.
- Find a running Workbench and select Connect.
- Open the IDE file browser. In JupyterLab, use Files; in code-server, use Explorer.
- Navigate to the root of the attached PVC, usually the Workbench home directory. Files created there persist in the PVC.
- Create a directory for the model, such as
models/Qwen2.5-0.5B-Instruct. - Upload the model files. In JupyterLab, select Upload; in code-server, drag the files into the target directory.
- Confirm that the model files appear in the target directory.
The Model URI is:
Register this URI as the artifact location for a Model Registry version. The PVC and the inference service must be in a namespace where the service can mount the claim.
Deploy a PVC-backed model
Replace model-pvc and the path with the PVC and directory containing the
model.
Model URI requirements
The console validates that a Model URI has a scheme and a non-empty location. For example, the following forms are valid when supported by the deployment configuration:
s3://<bucket>/<path>pvc://<pvc-name>/<optional-path>oci://<registry>/<repository>:<tag>- another configured URI scheme supported by the storage initializer or serving runtime
A local path such as /models/qwen or a bare repository name is not a complete
Model URI. Confirm that the chosen serving runtime supports the model format
and that the runtime can access the referenced storage.