Kepler Operator User Guides
October 14, 2025 · View on GitHub
Welcome to the Kepler Operator user documentation. This guide will help you install, configure, and operate Kepler on your Kubernetes or OpenShift cluster.
What is Kepler?
Kepler (Kubernetes-based Efficient Power Level Exporter) is a Prometheus exporter that measures energy consumption metrics at the container, pod, and node level in Kubernetes clusters. This enables you to monitor and optimize your cluster's energy efficiency.
What is Kepler Operator?
Kepler Operator is a Kubernetes operator that automates the deployment and lifecycle management of Kepler. It simplifies installation, configuration, and upgrades across both vanilla Kubernetes and OpenShift platforms.
Getting Started
Choose your platform to begin:
Installation Guides
- Kubernetes Installation (Helm) - Install on vanilla Kubernetes using Helm
- Includes prerequisites: cert-manager and prometheus-operator
- Optional: Prometheus and Grafana for metrics visualization
- OpenShift Installation (OperatorHub) - Install via OperatorHub/OLM
- Uses OpenShift's built-in certificate management
- Integrates with OpenShift monitoring stack
Prerequisites
- Setting up Monitoring Stack on Kubernetes - Guide for prometheus-operator, Prometheus, and Grafana
- prometheus-operator is REQUIRED (Kepler Operator creates ServiceMonitor resources)
- Prometheus and Grafana are optional (needed only for metrics visualization)
Guides
Step-by-step tutorials for common tasks:
- Validating Prometheus Integration - Verify Prometheus is scraping Kepler metrics
- Setting up Grafana Dashboards - Visualize energy metrics
- Upgrading - Upgrade the operator (Helm and OLM)
- Troubleshooting Guide - Common issues and platform-specific solutions
Experimental Features
⚠️ These features are experimental and may change in future versions:
- Redfish BMC Power Monitoring - Platform-level power consumption via Baseboard Management Controllers
Reference Documentation
Detailed feature documentation and specifications:
- PowerMonitor Resources - Complete PowerMonitor CR specification and configuration options
- Custom ConfigMaps - Advanced Kepler configuration using additionalConfigMaps
- API Reference - Complete API specification
- Uninstallation - Clean removal procedures
Developer Documentation
If you want to contribute to Kepler Operator or understand its internals, see the Developer Documentation.
Quick Reference
Kubernetes Quick Start
# 1. Install cert-manager (required)
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.18.2/cert-manager.yaml
# 2. Install prometheus-operator (required)
# Using kube-prometheus-stack (includes Prometheus + Grafana)
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm install prometheus prometheus-community/kube-prometheus-stack \
--namespace monitoring \
--create-namespace \
--set prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValues=false
# 3. Install Kepler Operator via Helm
helm install kepler-operator ./manifests/helm/kepler-operator \
--namespace kepler-operator \
--create-namespace
# 4. Create PowerMonitor
kubectl apply -f - <<EOF
apiVersion: kepler.system.sustainable.computing.io/v1alpha1
kind: PowerMonitor
metadata:
name: power-monitor
spec:
kepler:
deployment:
nodeSelector:
kubernetes.io/os: linux
config:
logLevel: info
EOF
OpenShift Quick Start
# Install from OperatorHub (UI)
# 1. Navigate to OperatorHub in OpenShift Console
# 2. Search for "Kepler Operator"
# 3. Click Install
# 4. Follow installation wizard
# Or install via CLI
# Follow the OpenShift Installation guide for detailed steps
Getting Help
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Kepler Documentation: Kepler Docs
Contributing
We welcome contributions! See the main README for contribution guidelines.
License
Kepler Operator is licensed under the Apache License 2.0. See LICENSE for details.