kubmin logo kubmin by ksctl The kubmin dispatch Vol. 02 · The Missing Test

Every release
is tested.
Almost none are
measured.

Unit tests pass. Chaos drills survive. Nobody measures what the release costs to run. Kubmin is that missing check.

Kubmin measures every release in your environment, on your configuration — cost, energy, and SCI/SEE carbon, divided by your application's own measurement unit: the requests it served, the jobs it ran. Then it points at the fix — idle time, a better region, a better instance type.

Kepler (CNCF) /SCI-aligned (GSF) /EKS/AKS/GKE/K3s/Kubeadm /OpenTelemetry
kubmin.ksctl.com
Kubmin dashboard showing workload cost, energy, and efficiency metrics
cost per release ·measured in your environment ·SCI + SEE per measurement unit ·quick wins, kubectl-ready
The Problem · ch. 01

You're spending thousands on Kubernetes.

But which release made the bill worse? You can't answer that.

Three blind spots, every release, every cluster.
01
blind spot

Tested, Never Measured

Unit tests, integration suites, even chaos drills — every release clears the pipeline. But no stage measures what that release consumes: CPU, memory, energy, money. Efficiency regressions ship behind green checkmarks, and the waste compounds with every deploy.

02
blind spot

Someone Else's Numbers

Cloud calculators and vendor benchmarks price an idealized app. Your bill comes from your environment — your configuration, your instance types, your region, your traffic. A cost model that wasn't measured there is a guess.

03
blind spot

Metrics Without a Unit

40% CPU says nothing about work done. Cost per request does. Without a functional unit, dashboards are trivia — you can't compare two releases honestly, justify an optimization, or report carbon the way SCI intends.

See It In Action · field test

Three Redis versions.
Same workload.
Wildly different efficiency.

We ran redis-benchmark across versions 8.6.1, 8.4.0, and 8.2.1. Here's what kubmin found — no other tool surfaces this.

kubmin.ksctl.com/workloads/compareall
Kubmin multi-version comparison showing CPU, memory, energy, SCI, SEE, and cost differences across Redis 8.6.1, 8.4.0, and 8.2.1
fig. 01
63%
more CPU — 8.4.0 vs 8.2.1
(243m vs 149m)
fig. 02
31%
more energy — 8.4.0 vs 8.6.1
(0.0085 vs 0.0064 kWh)
fig. 03
$81
/year wasted — 8.6.1 vs 8.4.0
($0.0297 vs $0.0389/hr median)
fig. 04
31%
more efficient — 8.2.1 vs 8.4.0
on SEE score
8.4.0 uses 87.8% CPU but isn't the most expensive. 8.2.1 uses 51.2% CPU but costs more. No single metric tells the full story — you need cost, energy, and efficiency together. That's what kubmin gives you.

This is one workload. Imagine what kubmin finds across your entire cluster.

Try It On Your Workloads reproduce this demo yourself
The capability index · ch. 02

What kubmin does.

The kubmin moat

Five capabilities, one ledger — cost, energy, and carbon per image version, measured in your environment. Read them in order, or jump straight to the one you came for.

ch. 02a · your deploy's real footprint

Image Version Deep Profile

Point kubmin at an image tag and get that version's full running story: hourly SCI and SEE, energy, CPU, memory — and the lifetime cost of running it as a container, from first deploy to today. Not generic pod metrics. Version-scoped truth about what each build costs and consumes in production.

hourly SCI · SEE · kWh · lifetime $ per measurement unit · see ch. 03b
kubmin.ksctl.com/workloads/details
Kubmin hourly deep profile for redis 8.2.1 — SCI score, SEE score, operational and embodied carbon, energy, and P95 utilization
ch. 02b · efficiency measured per release

Version-over-Version Comparison

Compare image versions across CPU, memory, energy, SCI, SEE, and runtime cost — per measurement unit of work. Ship a new release and know within hours whether it regressed 30% on efficiency, before the regression compounds into your bill.

caught +63% CPU drift between tags per measurement unit · see ch. 03b
kubmin.ksctl.com/workloads/compareall
Kubmin image version comparison — SEE, overall carbon, energy, and SCI per tracked version
ch. 02c · move once, save every hour

Placement & Region Intelligence

For every workload, kubmin ranks alternative instance types and regions — similar or better performance at lower cost, on a cleaner grid. Recommendations are grounded in real cloud-provider data: per-region grid carbon intensity, percent renewable energy, and per-instance embodied carbon. Side-by-side tradeoffs, not guesswork.

found −$52.71/mo on one workload
kubmin.ksctl.com/workloads/analyse
Kubmin region recommendation — alternative regions compared on running cost and grid carbon intensity
ch. 02d · dollar-ranked actions, not alerts

Quick Wins, Ranked by Savings

Kubmin turns every finding — idle replicas, overprovisioned limits, cheaper instance types, greener regions — into a ranked action list with estimated monthly savings attached. Each win ships with a copy-paste kubectl command. Open the dashboard, act on the top three.

ranked by $/mo · kubectl-ready
kubmin.ksctl.com/workloads/analyse
Kubmin quick wins — ranked actions with estimated monthly savings and copy-paste kubectl commands
ch. 02e · bring your stack or create one

Guided Observability

Keep your existing Prometheus, Tempo, Loki, and Grafana stack, or let kubmin deploy the missing pieces during create or import. Kubmin wires an OpenTelemetry Collector bridge for metrics, logs, and traces — plus Kepler for energy attribution — so every signal feeds the same cost and energy ledger.

prometheus · tempo · loki · grafana · otel
kubmin.ksctl.com/clusters/import/observability
Kubmin guided observability setup — connect existing backends or let Kubmin deploy the missing pieces
why energy · ch. 03

CPU metrics lie.
Energy doesn't.

A workload can show 40% CPU utilization and still be wasting energy. How? Polling loops, idle connections, inefficient memory access patterns — they all consume power without producing value. Traditional monitoring tools see 40% busy and move on. Kubmin sees the full picture — CPU usage alongside actual energy consumption over time — so you can spot the workloads where high utilization doesn't mean productive utilization.

fig. 03 · one node, 24 hours
idle burn zero work · power still flowing 00h06h12h18h24h
energy draw — follows cpu, floors high cpu — rises and falls with the work requests served — zero overnight
Energy follows CPU — but only partway down. Overnight, requests hit zero and CPU idles, yet the node still draws well over half its peak power: idle cores, allocated memory holding its refresh, the platform itself. Divide the night by work done and it's pure waste — billed, burned, invisible until you measure it.

Kubmin uses Kepler — a CNCF project — to estimate energy consumption at the container level. Kepler uses kernel-level instrumentation and ML-based models to attribute power usage per container, even in cloud environments where hardware counters aren't directly accessible.

a note on accuracy

In cloud environments, energy measurements are estimates based on ML models trained on real hardware data. They're highly reliable for relative comparison and trend analysis — which is exactly what kubmin needs. The patterns matter more than the absolute numbers.

interlude · ch. 03b

Cost per container-hour is generic.
Per request, it's yours.

Every application does one thing that matters — serves a request, processes a job, settles a transaction. Kubmin lets you declare that as your measurement unit with a single annotation, then divides everything by it: energy, carbon, cost.

declare work in your own vocabulary
request transaction job container-hour custom

The SCI standard (ISO/IEC 21031:2024) calls this the functional unit — the R in the formula. Kubmin calls it your measurement unit, computed next to your application from your cluster's real energy data. Not an industry average pasted into a slide.

one annotation on your workload deployment.yaml
kubmin.ksctl.com/measure: |  version: 1  containers:    webserver:      unit: container-hour    api:      unit: request      scope: pod      metric: http_requests_total      match:        container: $KUBMIN_CONTAINER_NAME
see how we added it to the Redis demo · PR #1
what you read back, per release
kWh / request
SEE — energy per measurement unit
gCO₂e / request
SCI — carbon per measurement unit
$ / 1M requests
runtime cost, in your units
SCI =
operational + embodied carbon R — your measurement unit

R is whatever your application calls work: requests served, jobs processed, transactions settled. You declare it once — kubmin divides by it forever.

Get Started · ch. 04

Three steps to see
what you're wasting

01 step

Create or Import a Cluster

Start with a new ksctl-managed cluster or import an existing EKS, AKS, GKE Standard, or self-managed Kubernetes cluster. Managed imports discover clusters by cloud and region; self-managed imports use kubeconfig.

02 step

Choose Your Observability Path

Connect existing Prometheus, Tempo, Loki, and Grafana endpoints, or let Kubmin deploy the missing pieces. Kubmin always installs the agent, Kepler, Gateway API, and an OpenTelemetry Collector bridge.

03 step

Instrument Apps and See Results

Point your apps at Kubmin's in-cluster OTLP gRPC or HTTP endpoint. Kubmin turns metrics, logs, traces, and Kepler energy data into workload cost, efficiency, SCI/SEE, and Quick Wins.

Start Free

Imported clusters must have cert-manager installed and healthy. Kubmin installs Gateway API CRDs during import and configures the Kubmin agent, Kepler, and OpenTelemetry Collector automatically.

The Gap · ch. 05

What your current tools
can't tell you

Kubmin doesn't replace your monitoring stack. It connects cluster onboarding, OpenTelemetry, energy, and workload cost intelligence around it.

AWS Cost Explorer
Kubecost
Prometheus + Grafana
kubmin
01 Cost & energy profile per image version Manual Hourly + lifetime
02 Image version comparison (efficiency diff) Yes
03 SCI + SEE per measurement unit (ISO/IEC 21031) Yes
04 Energy consumption per workload Manual Kepler built-in
05 Region & instance-type recommendations Partial Cost + grid carbon
06 Idle workload detection Basic Manual Auto
07 Ready-to-use kubectl fixes Ranked by $/mo
08 Per-container cost tracking EC2 only Est. Manual Yes
09 Existing cluster import Manual Manual EKS/AKS/GKE + kubeconfig
10 Guided observability setup Manual Bring yours or deploy
11 OpenTelemetry logs/traces/metrics bridge Manual OTEL Collector
12 Setup time N/A ~30 min Hours/Days Minutes to create/import

Kubmin doesn't replace your monitoring stack. It sees what your monitoring stack can't — the energy layer that drives real waste, plus the release context that turns metrics into action.

Pricing · ch. 06

Start free.
Scale when you need to.

Fixed monthly pricing. No per-node fees. No surprise bills. All plans include the Kubmin agent, Kepler energy insights, and Guided Observability with OpenTelemetry Collector.

Explore

tier 01
$0 /month
  • 1 cluster to create or import
  • 1 workload
  • 1 team member
  • Guided Observability setup
  • 6h hourly metrics retention
  • Basic workload overview
  • Community support
Get Started Free
most popular

Affordable

tier 02
$19.99 /month
  • 5 clusters to create or import
  • 5 workloads
  • 10 team members
  • 72h (3d) hourly metrics retention
  • Full workload analysis
  • Deployment comparison
  • Quick Wins with kubectl commands
  • Bring or deploy observability backends
  • Priority support
Start Affordable

Premium

tier 03
$49.99 /month
  • 20 clusters to create or import
  • 20 workloads
  • 50 team members
  • 168h (7d) hourly metrics retention
  • Everything in Affordable
  • Dedicated support
Start Premium

No hidden fees · Cancel anytime · Bring your stack or let Kubmin deploy one

finale the bill has been running for 00:00

Every hour you wait, your clusters
keep wasting.

Sign up free. Connect a cluster. See your waste in minutes.

Join us on this journey — the future of software is measured.

kubmin.ksctl.com · sign in with github · setup in minutes
addendum

Frequently
asked.

Honest answers, no marketing fluff. If we don't have the answer here, ask in Discord.