Architecture

Reference documentation for the Kubeflow Model Registry

Model Registry High Level Architecture

Kubeflow Model Registry stores metadata in a backend RDBMS that leverages an adaptable ER model inspired by the Google community project ML-Metadata. This provides a very extensible schema that, while being generic (similar to a key-value store), additionally allows for the creation of logical schemas that can be queried as if they were physical schemas. This schema is extended to provide the metadata management service capabilities specifically for the Model Registry, as explained in detail in the logical model.

Model Registry provides:

  • an OpenAPI interface to expose the Model Registry API to clients
  • Python/Go extensions to support Model Registry interactions

Components

  • OpenAPI/REST Server

    This component exposes a high-level REST API of the Model Registry. The REST API offers end-user capabilities focused on the domain model of the Model Registry, such as:

    • Register a Model
    • Version a Model
    • Get a catalog of models
    • Manage the deployment statuses of a model

    The REST API server converts its requests into one or more operations to the backend RDBMS.

  • CLI (Python client, SDK)

    CLI is also called MR Python client/SDK, a command line tool for interacting with Model Registry. This tool can be used by a user to execute operations such as retrieving the registered models, get model’s deployment status, model’s version etc.

The model registry provides logical mappings from the high level logical model available through the OpenAPI/REST Server, to the underlying ml-metadata entities.

See also

Feedback

Was this page helpful?