Red Hat Marketplace Operators

About Red Hat Marketplace Operators

The Red Hat Marketplace Operators are a collection of operators for reporting workload metrics and integrating product install lifecycle

IBM Metrics Operator

The IBM Metrics Operator is used to meter workloads and report usage from Prometheus on an OpenShift cluster, and reports it to Red Hat Marketplace.

IBM Data Reporter Operator

The IBM Data Reporter Operator is used as a push event interface into the IBM Metrics Operator’s data-service, for reporting to Red Hat Marketplace.

Red Hat Marketplace Deployment Operator

The Red Hat Marketplace Deployment Operator allows for seamless integration among OpenShift, sellers, and your business. The operator makes it simpler to deploy products to your OpenShift clusters. It fetches and installs software updates. It enables pay for what you use pricing options. And consolidates billing and reporting.


How Red Hat Marketplace Operators works

When you register your OpenShift clusters, you run a command that deploys the IBM Metrics Operator and Red Hat Marketplace Deployment Operator to your cluster. The operator gathers basic telemetry data, which is used for licensing, billing, and customization back to the marketplace. All data is sent over HTTPS to Red Hat Marketplace.

IBM Data Reporter Operator can be installed from your OpenShift cluster OperatorHub page.


Cluster requirements

The Red Hat Marketplace Operators and Prometheus instances require the following cluster resources. Note: To help ensure high availability, multiple nodes are required to provide pod scheduling across RedHat Marketplace Data Service and Prometheus.

Memory (GB)CPU (cores)Disk (GB)Nodes
IBM Metrics Operator0.80.73x13
IBM Data Reporter Operator0.30.71
Red Hat Marketplace Deployment Operator0.30.11
Prometheus via OpenShift Container Platform monitoring10.12x402

For additional details on resource requirements and storage configuration, refer to the documentation in the operator repository.

The IBM Metrics Operator creates 3 x 1GB PersistentVolumeClaims to store reports as part of the data service, with ReadWriteOnce access mode.

Supported Storage Providers

  • OpenShift Container Storage / OpenShift Data Foundation version 4.x, from version 4.2 or higher
  • IBM Cloud Block storage and IBM Cloud File storage
  • IBM Storage Suite for IBM Cloud Paks:
    • File storage from IBM Spectrum Fusion/Scale
    • Block storage from IBM Spectrum Virtualize, FlashSystem or DS8K
  • Portworx Storage, version 2.5.5 or above
  • Amazon Elastic File Storage

Access Modes required

  • ReadWriteOnce (RWO)

Provisioning Options supported

  • Dynamic provisioning using a storageClass

Integration with OpenShift Container Platform monitoring

When using monitoring, available with OpenShift Container Platform, IBM Metrics Operator must be configured to reuse the user workload Prometheus instance. Configuring the operator to reuse the Prometheus instance helps reduce resource requirements necessary to maintain performance.

Enable OpenShift user workload monitoring

The task enables Openshift User Workload Monitoring for OpenShift Container Platform.

Prerequisites

  • Access cluster as cluster-admin role.
  • Install OpenShift CLI (oc).
  • Create the cluster-monitoring-config ConfigMap object.

Steps

  1. Create the user-workload-monitoring-config ConfigMap object with the following default values: retention: 168h and storage: 40Gi.

    For example:

    apiVersion: v1
    kind: ConfigMap
    metadata:
    name: user-workload-monitoring-config
    namespace: openshift-user-workload-monitoring
    data:
    config.yaml: |
    prometheus:
    retention: 168h
    volumeClaimTemplate:
    spec:
    resources:
    requests:
    storage: 40Gi
  2. Edit the cluster-monitoring-config ConfigMap object by running the following command:

    $ oc -n openshift-monitoring edit configmap cluster-monitoring-config
  3. Under data/config.yaml, set enableUserWorkload to true. Note: When set to true, the enableUserWorkload parameter enables monitoring for user-defined projects in a cluster.

    For example:

    apiVersion: v1
    kind: ConfigMap
    metadata:
    name: cluster-monitoring-config
    namespace: openshift-monitoring
    data:
    config.yaml: |
    enableUserWorkload: true
  4. Save the file.

Result

Changes are applied and monitoring for user-defined projects is enabled automatically.

Next steps

  • To verify the prometheus-operator, prometheus-user-workload and thanos-ruler-user-workload pods are running in the openshift-user-workload-monitoring project, run the following command. Note: It may take a few minutes for the pods to start.

    $ oc -n openshift-user-workload-monitoring get pod

    Example response:

    NAME READY STATUS RESTARTS AGE
    prometheus-operator-6f7b748d5b-t7nbg 2/2 Running 0 3h
    prometheus-user-workload-0 4/4 Running 1 3h
    prometheus-user-workload-1 4/4 Running 1 3h
    thanos-ruler-user-workload-0 3/3 Running 0 3h
    thanos-ruler-user-workload-1 3/3 Running 0 3h

Additional Resources

For more information on user workload monitoring installation and configuration, refer to the following OpenShift guide:


Artifacts under redhat-marketplace namespace

Once on your cluster, the operator creates the following artifacts under the redhat-marketplace namespace:

  • Custom resource definitions — installs product operators, as well as Razee agent and agent installer; monitors and reports product usage data, when available.
  • Controllers - enforces customer configurations
  • Cluster role and role bindings—validates jobs are initiated by a cluster administrator
  • Secrets and keys—connects the cluster to Red Hat Marketplace and image registries.

Data passed from your clusters to Red Hat Marketplace

To enable product deployments and billing, the operator sends the following information to Red Hat Marketplace:

  • Heartbeat — to maintain a connection, the operator sends cluster metadata once per minute to the marketplace.
  • Resource list — to synch your clusters, the operator sends a summarized list of all resources at polling interval to the marketplace.
  • Real-time updates — to synch watched resources, such as cluster namespaces and operator versions, the operator sends status updates to the marketplace.
  • Usage data - to bill for application usage, when selected, the operator sends reports with usage data to the marketplace

Configure your firewall for OpenShift and Red Hat Marketplace

To access Red Hat Marketplace, grant access to the following URL:

URLFunction
marketplace.redhat.com/api/collector/v2Required for resource updates