Red Hat Marketplace Operator

About Red Hat Marketplace Operator

The Red Hat Marketplace 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 Operator works

When you register your OpenShift clusters, you run a command that deploys the Red Hat Marketplace 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.

Communication between Red Hat Marketplace Operator and Red Hat Marketplace

Red Hat Marketplace Operator

Cluster Requirements

The Red Hat Marketplace Operator requires the following cluster resources.

Default installation requirements

Installation with User Workload Monitoring enabled requirements

Integration with OpenShift User Workload Monitoring

If you are using User Workload Monitoring provided by OpenShift 4.6 or higher, the Marketplace Operator will reuse user workload Prometheus instance if properly configured. This will reduce the resource requirements for the operator.

Enabling OpenShift User Workload Monitoring

The guide will enable the User Workload monitoring with an acceptable configuration for OpenShift 4.6 or higher.

Prerequisites

  • You have access to the cluster as a user with the cluster-admin role.
  • You have installed the OpenShift CLI (oc).
  • You have created the cluster-monitoring-config ConfigMap object.

Steps

  1. Create the user-workload-monitoring-config ConfigMap object with defaults of retention: 168h and volumeClaimTemplate spec with storage: 40Gi.

    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:

    $ oc -n openshift-monitoring edit configmap cluster-monitoring-config
  3. Add enableUserWorkload: true under data/config.yaml:

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

    Note: When set to true, the enableUserWorkload parameter enables monitoring for user-defined projects in a cluster.

    Save the file to apply the changes. Monitoring for user-defined projects is then enabled automatically.

  4. Check that the prometheus-operator, prometheus-user-workload and thanos-ruler-user-workload pods are running in the openshift-user-workload-monitoring project. It might take a short while for the pods to start:

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

    Example output

    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

If any issues occur with the installation or configuration of the User Workload Monitoring please see the official installation guide provided by OpenShift in the additional resource links.

Additional Resources

Artifacts under Openshift-redhat-marketplace namespace

Once on your cluster, the operator creates the following artifacts under the openshift-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