Branch | Builds |
---|---|
Develop | |
Master |
The operators provide functionality for reporting workload metrics and integrating product install lifecycle through https://swc.saas.ibm.com.
The IBM Metrics Operator is used to meter workloads and report usage from Prometheus on an OpenShift cluster, and reports it to IBM Software Central.
The IBM Data Reporter Operator provides a push event interface into the IBM Metrics Operator's data-service, for reporting metrics to IBM Software Central.
The Red Hat Marketplace Deployment Operator is deprecated, with final release v2.15.0.
Usage metrics may be monitored through https://swc.saas.ibm.com with only IBM Metrics Operator and a Red Hat Marketplace account.
The operator releases adhere to semantic versioning and provides a seamless upgrade path for minor and patch releases within the current stable channel.
Minimum system resources required:
Operator | Memory (MB) | CPU (cores) | Disk (GB) | Nodes |
---|---|---|---|---|
Metrics | 750 | 0.25 | 3x1 | 3 |
Data Reporter | 85 | 0.1 | - | 1 |
Prometheus Provider | Memory (GB) | CPU (cores) | Disk (GB) | Nodes |
---|---|---|---|---|
Openshift User Workload Monitoring | 1 | 0.1 | 2x40 | 2 |
Multiple nodes are required to provide pod scheduling for high availability for IBM Metrics Operator Data Service and Prometheus.
The IBM Metrics Operator automatically creates 3 x 1Gi PersistentVolumeClaims to store reports as part of the data service, with ReadWriteOnce access mode. Te PersistentVolumeClaims are automatically created by the ibm-metrics-operator after creating a redhat-marketplace-pull-secret
and accepting the license in marketplaceconfig
.
NAME | CAPACITY | ACCESS MODES |
---|---|---|
rhm-data-service-rhm-data-service-0 | 1Gi | RWO |
rhm-data-service-rhm-data-service-1 | 1Gi | RWO |
rhm-data-service-rhm-data-service-2 | 1Gi | RWO |
Choose one of the following options to provision storage for the ibm-metrics-operator data-service
metadata.annotations: storageclass.kubernetes.io/is-default-class: "true"
redhat-marketplace-pull-secret
or accepting the license in marketplaceconfig
. Otherwise, the automatically generated PersistentVolumeClaims are immutable.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app: rhm-data-service
name: rhm-data-service-rhm-data-service-0
namespace: ibm-software-central
spec:
storageClassName: rook-cephfs
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
redhat-marketplace-pull-secret
or accepting the license in marketplaceconfig
.
apiVersion: v1
kind: PersistentVolume
metadata:
name: rhm-data-service-rhm-data-service-0
spec:
csi:
driver: rook-ceph.cephfs.csi.ceph.com
volumeHandle: rhm-data-service-rhm-data-service-0
capacity:
storage: 1Gi
accessModes:
To get started with the platform, see the documentation.
The Operators and their components support running under the OpenShift Container Platform default restricted and restricted-v2 security context constraints.
The IBM Metrics Operator components require specific ClusterRoleBindings.
view
ClusterRole.
view
ClusterRole dynamically adds new CustomResourceDefinitions.cluster-monitoring-view
ClusterRole.
Due to limitations of Operator Lifecycle Manager (OLM), this ClusterRoleBinding can not be provided dynamically for arbitrary installation target namespaces.
A static ClusterRoleBinding is included for installation to the default namespace of ibm-software-central
, and namespaces openshift-redhat-marketplace
, redhat-marketplace
, ibm-common-services
.
To create the ClusterRoleBindings for installation to an alternate namespace
oc project INSTALL-NAMESPACE
oc adm policy add-cluster-role-to-user view -z ibm-metrics-operator-metric-state
oc adm policy add-cluster-role-to-user cluster-monitoring-view -z ibm-metrics-operator-controller-manager,ibm-metrics-operator-reporter
The metric-state Deployment obtains get/list/watch
access to metered resources via the view
ClusterRole. For operators deployed using Operator Lifecycle Manager (OLM), permissions are added to clusterrole/view
dynamically via a generated and annotated -view
ClusterRole. If you wish to meter an operator, and its Custom Resource Definitions (CRDs) are not deployed through OLM, one of two options are required
rbac.authorization.k8s.io/aggregate-to-view: "true"
, thereby dynamically adding it to clusterrole/view
Attempting to meter a resource with a MeterDefinition without the required permissions will log an AccessDeniedError
in metric-state.
To plan for disaster recovery, note the PhysicalVolumeClaims rhm-data-service-rhm-data-service-N
.
It is possible to configure how OLM deploys an Operator via the config
field in the Subscription object.
The IBM Metrics Operator will also read the config
and append it to the operands. The primary use case is to control scheduling using Tolerations and NodeSelectors.
A limitation is that the config
elements are only appended to the operands. The elements in the operands are not removed if the config
is removed from the Subscripion
. The operand must be modified manually, or deleted and recreated by the controller.
This is a high level visual representation of how the operators interact with Prometheus, CustomResources, with each other, and with IBM Software Central.