Red Hat Marketplace Deployment Operator

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

Notice

The Red Hat Marketplace Operator metrics and deployment functionalities have been separated into two operators.

  • The metrics functionality is included in the IBM Metrics Operator
    • Admin level functionality and permissions are removed from the IBM Metrics Operator
    • ClusterServiceVersion/ibm-metrics-operator
  • The deployment functionality remains as part of the Red Hat Marketplace Deployment Operator
    • The Red Hat Marketplace Deployment Operator prerequisites the IBM Metrics Operator
    • Some admin level RBAC permissions are required for deployment functionality
    • ClusterServiceVersion/redhat-marketplace-operator

How Red Hat Marketplace Deployment Operator 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.

Communication between Red Hat Marketplace Deployment Operator and Red Hat Marketplace

Red Hat Marketplace Deployment Operator


Cluster requirements

The Red Hat Marketplace Deployment 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
IBM Metrics Operator0.80.53x13
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.


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.

Resources Required

Minimum system resources required:

OperatorMemory (MB)CPU (cores)Disk (GB)Nodes
Metrics7500.253x13
Deployment2500.25-1
Prometheus ProviderMemory (GB)CPU (cores)Disk (GB)Nodes
Openshift User Workload Monitoring10.12x402

Multiple nodes are required to provide pod scheduling for high availability for Red Hat Marketplace Data Service and Prometheus.

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

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