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 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
Red Hat Marketplace Operator10.53x13
Prometheus via OpenShift Container Platform monitoring10.12x402
Prometheus via RedHat Marketplace Operator2.50.52x202

Integration with OpenShift Container Platform monitoring

When using monitoring, available with OpenShift Container Platform 4.6 and higher, Red Hat Marketplace Operator can 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 4.6 or higher.

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 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