Skip to content

Commit 759bdfe

Browse files
authored
Merge pull request #96947 from eromanova97/power-monitoring-0.5-integration
Power monitoring 0.5 integration
2 parents 39ab22c + 81a0bc5 commit 759bdfe

File tree

32 files changed

+537
-233
lines changed

32 files changed

+537
-233
lines changed

_topic_maps/_topic_map.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3290,6 +3290,8 @@ Topics:
32903290
Dir: power_monitoring
32913291
Distros: openshift-enterprise,openshift-origin
32923292
Topics:
3293+
- Name: Power monitoring 0.5 release notes
3294+
File: power-monitoring-release-notes-tp-0-5
32933295
- Name: Power monitoring release notes
32943296
File: power-monitoring-release-notes
32953297
- Name: Power monitoring overview
@@ -3302,6 +3304,10 @@ Topics:
33023304
File: visualizing-power-monitoring-metrics
33033305
- Name: Uninstalling power monitoring
33043306
File: uninstalling-power-monitoring
3307+
- Name: Power monitoring references
3308+
File: power-monitoring-references
3309+
- Name: Power monitoring API reference
3310+
File: power-monitoring-api-reference
33053311
---
33063312
Name: Scalability and performance
33073313
Dir: scalability_and_performance

modules/power-monitoring-about-power-monitoring.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
[id="power-monitoring-about-power-monitoring_{context}"]
77
= About {PM-shortname}
88

9-
You can use {PM-title} to monitor the power usage and identify power-consuming containers running in an {product-title} cluster. {PM-shortname-c} collects and exports energy-related system statistics from various components, such as CPU and DRAM. It provides granular power consumption data for Kubernetes pods, namespaces, and nodes.
9+
You can use {PM-title} to monitor the power usage and identify power-consuming containers running in an {product-title} cluster. {PM-shortname-c} collects and exports energy-related system statistics from various components, such as CPU and DRAM. It provides estimates and granular power consumption data for Kubernetes pods and namespaces, and reads the power consumption of nodes.
1010

1111
[WARNING]
1212
====

modules/power-monitoring-accessing-dashboards-admin.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
[id="power-monitoring-accessing-dashboards-admin_{context}"]
77
= Accessing {PM-shortname} dashboards as a cluster administrator
88

9-
You can access {PM-shortname} dashboards from the *Administrator* perspective of the {product-title} web console.
9+
You can access {PM-shortname} dashboards of the {product-title} web console.
1010

1111
.Prerequisites
1212

@@ -18,8 +18,8 @@ You can access {PM-shortname} dashboards from the *Administrator* perspective of
1818
1919
.Procedure
2020

21-
. In the *Administrator* perspective of the web console, go to *Observe* -> *Dashboards*.
21+
. In the web console, go to *Observe* -> *Dashboards*.
2222

23-
. From the *Dashboard* drop-down list, select the {PM-shortname} dashboard you want to see:
24-
** *Power Monitoring / Overview*
25-
** *Power Monitoring / Namespace*
23+
. From the *Dashboard* drop-down list, select the {PM-shortname} dashboard you want to see:
24+
** *Power Monitor / Overview*
25+
** *Power Monitor / Namespace (Pods)*

modules/power-monitoring-accessing-dashboards-developer.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
[id="power-monitoring-accessing-dashboards-developer_{context}"]
77
= Accessing {PM-shortname} dashboards as a developer
88

9-
You can access {PM-shortname} dashboards from the *Developer* perspective of the {product-title} web console.
9+
You can access {PM-shortname} dashboards from {product-title} web console.
1010

1111
.Prerequisites
1212

@@ -19,7 +19,7 @@ You can access {PM-shortname} dashboards from the *Developer* perspective of the
1919
2020
.Procedure
2121

22-
. In the *Developer* perspective of the web console, go to *Observe* -> *Dashboard*.
22+
. In the web console, go to *Observe* -> *Dashboard*.
2323

2424
. From the *Dashboard* drop-down list, select the {PM-shortname} dashboard you want to see:
25-
** *Power Monitoring / Overview*
25+
** *Power Monitor / Overview*
Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
// Automatically generated by 'kepler.system.sustainable.computing.io'. Do not edit.
2+
:_mod-docs-content-type: REFERENCE
3+
[id="power-monitoring-api-specifications_{context}"]
4+
= PowerMonitoring API specifications
5+
6+
PowerMonitor
7+
8+
9+
PowerMonitor is the schema for the PowerMonitor API.
10+
11+
[cols="1,1,4,1", options="header"]
12+
|===
13+
| Name
14+
| Type
15+
| Description
16+
| Required
17+
18+
| *apiVersion*
19+
| string
20+
| kepler.system.sustainable.computing.io/v1alpha1
21+
| true
22+
23+
| *kind*
24+
| string
25+
| PowerMonitor
26+
| true
27+
28+
| object
29+
| Refer to the Kubernetes API documentation for the fields of the metadata field.
30+
| true
31+
32+
| *spec*
33+
| object
34+
| PowerMonitorSpec defines the desired state of Power Monitor
35+
| false
36+
37+
| *status*
38+
| object
39+
| PowerMonitorStatus defines the observed state of the Power Monitor.
40+
| false
41+
|===
42+
43+
== PowerMonitor.spec
44+
45+
PowerMonitorSpec defines the desired state of Power Monitor
46+
47+
[cols="1,1,3,1", options="header"]
48+
|===
49+
| Name
50+
| Type
51+
| Description
52+
| Required
53+
54+
| *kepler*
55+
| object
56+
|
57+
| true
58+
|===
59+
60+
== PowerMonitor.status.conditions
61+
62+
[cols="1,1,4,1", options="header"]
63+
|===
64+
| Name
65+
| Type
66+
| Description
67+
| Required
68+
69+
| *lastTransitionTime*
70+
| string
71+
| The last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. +
72+
Format: date-time
73+
| true
74+
75+
| *message*
76+
| string
77+
| A human-readable message indicating details about the transition. This may be an empty string.
78+
| true
79+
80+
| *reason*
81+
| string
82+
| Contains a programmatic identifier indicating the reason for the condition's last transition.
83+
| true
84+
85+
| *status*
86+
| string
87+
| The status of the condition, which can be one of True, False, or Unknown.
88+
| true
89+
90+
| *type*
91+
| string
92+
| The type of Kepler Condition, such as Reconciled or Available.
93+
| true
94+
95+
| *observedGeneration*
96+
| integer
97+
| Represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date. +
98+
Format: int64 +
99+
Minimum: 0
100+
| false
101+
|===
102+
103+
== PowerMonitor.status.kepler
104+
105+
[cols="1,1,4,1", options="header"]
106+
|===
107+
| Name
108+
| Type
109+
| Description
110+
| Required
111+
112+
| *currentNumberScheduled*
113+
| integer
114+
| The number of nodes that are running at least one power-monitor pod and are supposed to run it. +
115+
Format: int32
116+
| true
117+
118+
| *desiredNumberScheduled*
119+
| integer
120+
| The total number of nodes that should be running the power-monitor pod. +
121+
Format: int32
122+
| true
123+
124+
| *numberMisscheduled*
125+
| integer
126+
| The number of nodes running the power-monitor pod that are not supposed to. +
127+
Format: int32
128+
| true
129+
130+
| *numberReady*
131+
| integer
132+
| The number of nodes that should be running the power-monitor pod and have at least one pod with a Ready condition. +
133+
Format: int32
134+
| true
135+
136+
| *numberAvailable*
137+
| integer
138+
| The number of nodes that should be running the power-monitor pod and have at least one pod running and available. +
139+
Format: int32
140+
| false
141+
142+
| *numberUnavailable*
143+
| integer
144+
| The number of nodes that should be running the power-monitor pod but have no pods running and available. +
145+
Format: int32
146+
| false
147+
148+
| *updatedNumberScheduled*
149+
| integer
150+
| The total number of nodes that are running an updated power-monitor pod. +
151+
Format: int32
152+
| false
153+
|===

modules/power-monitoring-configuring-kepler-redfish.adoc

Lines changed: 0 additions & 94 deletions
This file was deleted.

modules/power-monitoring-dashboards-overview.adoc

Lines changed: 13 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,38 +8,21 @@
88

99
There are two types of {PM-shortname} dashboards. Both provide different levels of details around power consumption metrics for a single cluster:
1010

11-
[discrete]
12-
== Power Monitoring / Overview dashboard
11+
[id="power-monitoring-overview-dashboard_{context}"]
12+
== Power Monitor / Overview dashboard
1313

14-
With this dashboard, you can observe the following information:
14+
This dashboard allows you to view the following information:
1515

16-
* An aggregated view of CPU architecture and its power source (`rapl-sysfs`, `rapl-msr`, or `estimator`) along with total nodes with this configuration
16+
Cluster-wide power consumption:: View current total, active, and idle CPU power consumption, grouped by zones.
17+
Node-level power details:: Analyze historical and current power consumption (total, active, and idle) for individual nodes.
18+
Hardware information:: Display CPU model and core counts for each node in the cluster.
19+
Time-series analysis:: Track power consumption trends over time with graphs that can be filtered by node and zone. This provides a comprehensive view of your cluster's energy usage.
1720

18-
* Total energy consumption by a cluster in the last 24 hours (measured in kilowatt-hour)
21+
[id="power-monitor-namespace-pods-dashboard_{context}"]
22+
== Power Monitor / Namespace (Pods) dashboard
1923

20-
* The amount of power consumed by the top 10 namespaces in a cluster in the last 24 hours
24+
This dashboard allows you to monitor and analyze power consumption for Kubernetes namespaces and pods. It provides the following information:
2125

22-
* Detailed node information, such as its CPU architecture and component power source
23-
24-
These features allow you to effectively monitor the energy consumption of the cluster without needing to investigate each namespace separately.
25-
26-
[WARNING]
27-
====
28-
Ensure that the *Components Source* column does not display `estimator` as the power source.
29-
30-
.The Detailed Node Information table with `rapl-sysfs` as the component power source
31-
image::power-monitoring-component-power-source.png[]
32-
33-
If {PM-kepler} is unable to obtain hardware power consumption metrics, the *Components Source* column displays `estimator` as the power source, which is not supported in Technology Preview. If that happens, then the values from the nodes are not accurate.
34-
====
35-
36-
[discrete]
37-
== Power Monitoring / Namespace dashboard
38-
39-
This dashboard allows you to view metrics by namespace and pod. You can observe the following information:
40-
41-
* The power consumption metrics, such as consumption in DRAM and PKG
42-
43-
* The energy consumption metrics in the last hour, such as consumption in DRAM and PKG for core and uncore components
44-
45-
This feature allows you to investigate key peaks and easily identify the primary root causes of high consumption.
26+
Top ten power consuming namespaces:: A real-time table showing the top ten namespaces based on their current power usage. This helps you quickly identify the most resource-intensive workloads.
27+
Total namespace power consumption:: A historical graph showing the total power consumption of pods within a selected namespace over time, grouped by zone. This helps you see trends and understand an application's or service's total power use.
28+
Individual pod power consumption:: A detailed graph showing the power consumption of individual pods, so you can analyze them in detail.

modules/power-monitoring-deleting-kepler.adoc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,18 @@
88

99
You can delete {PM-kepler} by removing the {PM-kepler} instance of the `{PM-kepler}` custom resource definition (CRD) from the {product-title} web console.
1010

11+
[IMPORTANT]
12+
====
13+
Starting with {PM-title} 0.5 (Technology Preview), use the `PowerMonitor` CRD, and remove all instances of the `Kepler` CRD.
14+
====
15+
1116
.Prerequisites
1217
* You have access to the {product-title} web console.
1318
* You are logged in as a user with the `cluster-admin` role.
1419
1520
.Procedure
1621

17-
. In the *Administrator* perspective of the web console, go to *Operators* -> *Installed Operators*.
22+
. In the web console, go to *Operators* -> *Installed Operators*.
1823

1924
. Click *{PM-title-c}* from the *Installed Operators* list and go to the *{PM-kepler}* tab.
2025

0 commit comments

Comments
 (0)