Deploying Prometurbo through OperatorHub
You can deploy Prometurbo by using the certified Prometurbo operator in Red Hat OpenShift OperatorHub and configuring a custom resource that creates a single instance of Prometurbo.
Deployment requirements
Review the general requirements.
Task overview
To deploy Prometurbo, perform the following tasks:
-
Install the Prometurbo operator through OperatorHub in Red Hat OpenShift.
-
Create a Prometurbo instance.
-
Validate the deployment.
Installing the Prometurbo operator through OperatorHub in Red Hat OpenShift
-
Log in to your Red Hat OpenShift console and navigate to Home > Projects.
-
Create a project (namespace) for your Prometurbo deployment. For example, the following YAML file creates a
turbo
namespace:apiVersion: v1 kind: Namespace metadata: name: turbo
-
Navigate to Operators > OperatorHub and select the project that you created.
-
Search for Prometurbo in the search bar.
-
Select Certified Prometurbo Operator.
-
Select the
stable
channel and then install the operator.After the installation, the following resources are created.
Name Kind Status API version prometurbo-operator.vx.x.x ClusterServiceVersion
Created operators.coreos.com/v1alpha1
prometurbos.charts.helm.k8s.io CustomResourceDefinition
Present apiextensions.k8s.io/v1
prometurbo-operator ServiceAccount
Present core/v1
prometurbo-operator.vx.x.x-xxxxxxxx ClusterRole
Created rbac.authorization.k8s.io/v1
prometurbo-operator.vx.x.x-xxxxxxxx ClusterRoleBinding
Created rbac.authorization.k8s.io/v1
Note:A cluster role is created for
prometurbo-operator
to grant it permissions to create the necessary cluster roles for Prometurbo instances.
Creating a Prometurbo instance
-
Navigate to Operators > Installed Operators.
-
Select the Prometurbo operator and then click Create Instance. Follow the prompts to configure the instance.
The following table lists the configuration parameters for
prometurbo
:Parameter Description Default value image.prometurboRepository
The prometurbo
container image repositoryicr.io/cpopen/turbonomic/prometurbo
image.prometurboTag
The prometurbo
container image tagRelease version, such as 8.15.0
image.turbodifRepository
The turbodif
container image repositoryicr.io/cpopen/turbonomic/turbodif
image.turbodifTag
The turbodif
container image tagRelease version, such as 8.15.0
image.pullPolicy
Specify either IfNotPresent
orAlways
.IfNotPresent
targetName
A unique name that identifies this target Prometheus
serviceAccountName
The name of the serviceAccount
used by theprometurbo
podprometurbo
roleName
The name of the clusterrole
bound toserviceAccount
prometurbo
roleBinding
The name of the clusterrolebinding
that bindsserviceAccount
toclusterrole
prometurbo-binding
restAPIConfig.opsManagerUserName
The username to log in to Turbonomic. A username is required if you do not use a secret. None restAPIConfig.opsManagerPassword
The password to log in to Turbonomic. A password is required if you do not use a secret. None serverMeta.version
Turbonomic version Release version, such as 8.15.0
serverMeta.turboServer
Turbonomic URL None args.logginglevel
Logging level of prometurbo
2
args.ignoreCommodityIfPresent
Specify whether to ignore merging a commodity when a commodity of the same type already exists in Turbonomic. false
The following example shows a YAML resource with the Prometurbo parameters.
apiVersion: charts.helm.k8s.io/v1 kind: Prometurbo metadata: name: prometurbo-release namespace: turbo spec: image: prometurboTag: 8.15.0 turbodifTag: 8.15.0 pullPolicy: Always restAPIConfig: opsManagerPassword: administrator opsManagerUserName: mypassword serviceAccountName: prometurbo-xl-ember roleBinding: prometurbo-binding-xl-ember roleName: prometurbo-xl-ember serverMeta: turboServer: 'https://10.1.1.1' version: 8.15.0 targetName: OCP411-FYRE-IBM
Validating the deployment
-
Verify that the
prometurbo
pods are up and running.oc -n turbo get po | grep prometurbo
The following example results indicate that the pods were deployed and are currently running.
prometurbo-operator-6ffc566f4c-lwbcn 1/1 Running 0 5d23h prometurbo-release-744947bb94-kqc2b 2/2 Running 0 5d20h
-
Verify that the proper cluster role is created for Prometurbo. Using the example YAML resource in the previous section, a
prometurbo-xl-ember
cluster role should be created, with proper rules to access theprometheusquerymappings
andprometheusserverconfigs
resources. -
Open the Turbonomic user interface and navigate to Settings > Target Configuration. If the deployment was successful, a new Prometheus target appears in the list.