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:

Experimental Features

⚠️ These features are experimental and may change in future versions:

Reference Documentation

Detailed feature documentation and specifications:

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

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.