Chapter 2. Installing Metering
Review the following sections before installing metering into your cluster.
To get started installing metering, first install the Metering Operator from OperatorHub. Next, configure your instance of metering by creating a CustomResource
, referred to here as your MeteringConfig. Installing the Metering Operator creates a default MeteringConfig that you can modify using the examples in the documentation. After creating your MeteringConfig, install the metering stack. Last, verify your installation.
2.1. Prerequisites
Metering requires the following components:
- A StorageClass for dynamic volume provisioning. Metering supports a number of different storage solutions.
- 4GB memory and 4 CPU cores available cluster capacity and at least one node with 2 CPU cores and 2GB memory capacity available.
The minimum resources needed for the largest single Pod installed by metering are 2GB of memory and 2 CPU cores.
- Memory and CPU consumption may often be lower, but will spike when running reports, or collecting data for larger clusters.
2.2. Installing the Metering Operator
To install the Metering Operator first create an openshift-metering
namespace, and then install the Metering Operator from OperatorHub.
Procedure
-
In the OpenShift Container Platform web console, click Administration
Namespaces Create Namespace. -
Set the name to
openshift-metering
. No other namespace is supported. Label the namespace withopenshift.io/cluster-monitoring=true
, and click Create. -
Next, click Operators
OperatorHub, and filter for metering
to find the Metering Operator. - Click the Metering card, review the package description, and then click Install.
-
On the Create Operator Subscription screen, select the
openshift-metering
namespace you created above. Specify your update channel and approval strategy, then click Subscribe to install metering. - On the Installed Operators screen the Status displays InstallSucceeded when metering has finished installing. Click the name of the operator in the first column to view the Operator Details page.
It may take a few minutes for the metering operator to appear.
From the Operator Details page you can create different resources related to metering. To complete your installation create a MeteringConfig resource to configure metering and install the components of the metering stack.
2.3. Installing the Metering stack
After adding the Metering Operator to your cluster you can install the components of metering by installing the metering stack.
Prerequisites
- Review the configuration options
Create a MeteringConfig resource. You can begin the following process to generate a default MeteringConfig, then use the examples in the documentation to modify this default file for your specific installation. Review the following topics to create your MeteringConfig resource:
- For configuration options, review About configuring metering.
- At a minimum, you need to configure persistent storage and configure the Hive metastore.
There can only be one MeteringConfig resource in the openshift-metering
namespace. Any other configuration is not supported.
Procedure
-
From the web console, ensure you are on the Operator Details page for the Metering Operator in the
openshift-metering
project. You can navigate to this page by clicking OperatorsInstalled Operators, then selecting the Metering Operator. Under Provided APIs, click Create Instance on the Metering Configuration card. This opens a YAML editor with the default MeteringConfig file where you can define your configuration.
NoteFor example configuration files and all supported configuration options, review the configuring metering documentation.
- Enter your MeteringConfig into the YAML editor and click Create.
The MeteringConfig resource begins to create the necessary resources for your metering stack. You can now move on to verifying your installation.
2.4. Verify Installation
To verify your metering installation you can check that all the required Pods have been created, and check that your report data sources are beginning to import data.
Procedure
Navigate to Workloads
Pods in the metering namespace and verify that Pods are being created. This can take several minutes after installing the metering stack. You can run the same check using the
oc
CLI :$ oc -n openshift-metering get pods NAME READY STATUS RESTARTS AGE hive-metastore-0 1/2 Running 0 52s hive-server-0 2/3 Running 0 52s metering-operator-68dd64cfb6-pxh8v 2/2 Running 0 2m49s presto-coordinator-0 2/2 Running 0 31s reporting-operator-56c6c878fb-2zbhp 0/2 ContainerCreating 0 4s
Continue to check your Pods until they show
Ready
. This can take several minutes. Many Pods rely on other components to function before they themselves can be considered ready. Some Pods may restart if other Pods take too long to start, this is okay and can be expected during installation.Using the
oc
CLI, the same check shows output similar to the following:$ oc -n openshift-metering get pods NAME READY STATUS RESTARTS AGE hive-metastore-0 2/2 Running 0 3m28s hive-server-0 3/3 Running 0 3m28s metering-operator-68dd64cfb6-2k7d9 2/2 Running 0 5m17s presto-coordinator-0 2/2 Running 0 3m9s reporting-operator-5588964bf8-x2tkn 2/2 Running 0 2m40s
Next, use the
oc
CLI to verify that the ReportDataSources are beginning to import data, indicated by a valid timestamp in theEARLIEST METRIC
column (this may take a few minutes). We filter out the "-raw" ReportDataSources which do not import data:$ oc get reportdatasources -n openshift-metering | grep -v raw NAME EARLIEST METRIC NEWEST METRIC IMPORT START IMPORT END LAST IMPORT TIME AGE node-allocatable-cpu-cores 2019-08-05T16:52:00Z 2019-08-05T18:52:00Z 2019-08-05T16:52:00Z 2019-08-05T18:52:00Z 2019-08-05T18:54:45Z 9m50s node-allocatable-memory-bytes 2019-08-05T16:51:00Z 2019-08-05T18:51:00Z 2019-08-05T16:51:00Z 2019-08-05T18:51:00Z 2019-08-05T18:54:45Z 9m50s node-capacity-cpu-cores 2019-08-05T16:51:00Z 2019-08-05T18:29:00Z 2019-08-05T16:51:00Z 2019-08-05T18:29:00Z 2019-08-05T18:54:39Z 9m50s node-capacity-memory-bytes 2019-08-05T16:52:00Z 2019-08-05T18:41:00Z 2019-08-05T16:52:00Z 2019-08-05T18:41:00Z 2019-08-05T18:54:44Z 9m50s persistentvolumeclaim-capacity-bytes 2019-08-05T16:51:00Z 2019-08-05T18:29:00Z 2019-08-05T16:51:00Z 2019-08-05T18:29:00Z 2019-08-05T18:54:43Z 9m50s persistentvolumeclaim-phase 2019-08-05T16:51:00Z 2019-08-05T18:29:00Z 2019-08-05T16:51:00Z 2019-08-05T18:29:00Z 2019-08-05T18:54:28Z 9m50s persistentvolumeclaim-request-bytes 2019-08-05T16:52:00Z 2019-08-05T18:30:00Z 2019-08-05T16:52:00Z 2019-08-05T18:30:00Z 2019-08-05T18:54:34Z 9m50s persistentvolumeclaim-usage-bytes 2019-08-05T16:52:00Z 2019-08-05T18:30:00Z 2019-08-05T16:52:00Z 2019-08-05T18:30:00Z 2019-08-05T18:54:36Z 9m49s pod-limit-cpu-cores 2019-08-05T16:52:00Z 2019-08-05T18:30:00Z 2019-08-05T16:52:00Z 2019-08-05T18:30:00Z 2019-08-05T18:54:26Z 9m49s pod-limit-memory-bytes 2019-08-05T16:51:00Z 2019-08-05T18:40:00Z 2019-08-05T16:51:00Z 2019-08-05T18:40:00Z 2019-08-05T18:54:30Z 9m49s pod-persistentvolumeclaim-request-info 2019-08-05T16:51:00Z 2019-08-05T18:40:00Z 2019-08-05T16:51:00Z 2019-08-05T18:40:00Z 2019-08-05T18:54:37Z 9m49s pod-request-cpu-cores 2019-08-05T16:51:00Z 2019-08-05T18:18:00Z 2019-08-05T16:51:00Z 2019-08-05T18:18:00Z 2019-08-05T18:54:24Z 9m49s pod-request-memory-bytes 2019-08-05T16:52:00Z 2019-08-05T18:08:00Z 2019-08-05T16:52:00Z 2019-08-05T18:08:00Z 2019-08-05T18:54:32Z 9m49s pod-usage-cpu-cores 2019-08-05T16:52:00Z 2019-08-05T17:57:00Z 2019-08-05T16:52:00Z 2019-08-05T17:57:00Z 2019-08-05T18:54:10Z 9m49s pod-usage-memory-bytes 2019-08-05T16:52:00Z 2019-08-05T18:08:00Z 2019-08-05T16:52:00Z 2019-08-05T18:08:00Z 2019-08-05T18:54:20Z 9m49s
After all Pods are ready and you have verified that data is being imported, you can begin using metering to collect data and report on your cluster.
2.5. Additional resources
- For more information on configuration steps and available storage platforms, see Configuring persistent storage.
- For the steps to configure Hive, see Configuring the Hive metastore.