Skip to the content.

Install and Configure COO on CRC

Install the Red Hat OpenShift Cluster Observability Operator (COO) on an OpenShift Local (CRC) cluster and enable Perses dashboards and incident detection via the monitoring UIPlugin.

Prerequisites

Steps

  1. Verify cluster monitoring is running Confirm that the monitoring stack is available before proceeding:
    oc get co monitoring
    

    The output must show Available=True and Degraded=False. If the monitoring ClusterOperator does not exist or is degraded, stop and enable cluster monitoring first.

  2. Create the COO namespace with the cluster-monitoring label The openshift.io/cluster-monitoring: "true" label is required for incident detection to work:
    cat <<'EOF' | oc apply -f -
    apiVersion: v1
    kind: Namespace
    metadata:
      name: openshift-cluster-observability-operator
      labels:
        openshift.io/cluster-monitoring: "true"
    EOF
    
  3. Create the OperatorGroup and Subscription Use the supporting script to install COO from the redhat-operators catalog:
    bash <skill-dir>/install-coo.sh
    
  4. Wait for the COO operator to be ready Wait for the CSV to reach Succeeded and the operator pods to start:
    oc wait --for=jsonpath='{.status.phase}'=Succeeded \
      csv -l operators.coreos.com/cluster-observability-operator.openshift-cluster-observability-operator \
      -n openshift-cluster-observability-operator --timeout=300s
    

    Then confirm the pods are running:

    oc get pods -n openshift-cluster-observability-operator
    

    You should see at least the following pods running:

    • observability-operator-*
    • obo-prometheus-operator-*
    • obo-prometheus-operator-admission-webhook-* (2 replicas)
    • perses-operator-*
  5. Create the UIPlugin CR with Perses and incident detection Apply the UIPlugin custom resource to enable both features:
    cat <<'EOF' | oc apply -f -
    apiVersion: observability.openshift.io/v1alpha1
    kind: UIPlugin
    metadata:
      name: monitoring
    spec:
      type: Monitoring
      monitoring:
        perses:
          enabled: true
        clusterHealthAnalyzer:
          enabled: true
    EOF
    
  6. Wait for the UIPlugin to reconcile
    oc wait --for=jsonpath='{.status.conditions[0].reason}'=UIPluginReconciled \
      uiplugin monitoring --timeout=120s
    

Verification

Notes

Changelog

See CHANGELOG.md for version history.