Skip to content

3. Introduction to Open Data Hub Operator

Vaishnavi Hire edited this page Mar 25, 2024 · 1 revision

Open Data Hub Operator is responsible for integrating ODH components into the Open Data Hub Platform. It allows users to deploy custom list of DataScience applications provided by ODH. The operator manages two CRs DataScienceCluster CR and DSCInitialization CR. The sections below dive deep into these CRs -

ODH Operator APIs

DSCInitialization API

  • This CRD is responsible for defining config required by the ODH platform before the applications are deployed.
  • This includes creation of applications and monitoring namespaces, common configmaps and secrets, SCCs and Rolebindings
  • The CRD gives details on each field of the API and the field type.
  • Example of the DSCInitialization CR
apiVersion: dscinitialization.opendatahub.io/v1
kind: DSCInitialization
metadata:
  name: default                                                                    # Name of the CR. Since its a cluster-wide resource, namespace is not required.
spec:
  monitoring:
    managementState: "Managed"                                                     # managementState determines if the monitoring resources should be deployed and managed by operator. Valid values include `Managed`, `Removed` and `UnManaged`
    namespace: 'opendatahub'                                                       # Namespace where monitoring resources should be deployed.
  applicationsNamespace: 'opendatahub'                                             # Namespace where application resources should be deployed.
  devFlags:                                                                        # optional config that is not supported, but useful for developer and local testing
    manifestsURI: https://github.com/opendatahub-io/odh-manifests/tarball/master   # Custom manifests uri for components

DataScienceCluster API

  • This CR will be created by the end user to enable various data science components.
  • It is responsible for enabling support for CRDs like Notebooks, DataSciencePipelinesApplication, InferenceService etc based on the configuration
  • Initially only one instance of DataScienceCluster CR will be supported by the operator. A user can extend/update the CR to enable/disable components.
  • The CRD gives details on each field of the API and the field type.
  • Example of the DataScienceCluster CR
apiVersion: datasciencecluster.opendatahub.io/v1
kind: DataScienceCluster
metadata:
  name: default                        # Name of the CR. Since its a cluster-wide resource, namespace is not required.
spec:
  components:                         # List of integrated ODH components 
    codeflare:
      managementState: "Removed"      # managementState - Two supported values: 1. "Managed" : the operator is actively managing the component and trying to keep it active. It will only upgrade the component if it is safe to do so. 
                                      # 2."Removed" : the operator is actively managing the component and will not install it, or if it is installed, the operator will try to remove it
    dashboard:
      managementState: "Managed"
    datasciencepipelines:
      managementState: "Managed"
    kserve:
      managementState: "Removed"
    modelmeshserving:
      managementState: "Managed"
    ray:
      managementState: "Removed"
    workbenches:
      managementState: "Managed"

Quick Links