Skip to content
NewKubeOn AI: a managed LLM gateway with cost per 1M tokens for every model

GPU data centers

Owned GPUs, priced and planned like cloud ones

GPU servers in your data center have no hourly bill, so their idle hours are invisible. A rate card gives every GPU an hourly price. From then on, owned GPUs are allocated to teams, compared with cloud and planned like any other capacity, with no data leaving your network on a self-hosted hub.

GPU data centers workflow

Who does what

Price and plan the GPUs you own

Follow the inputs, decision and output for this workflow.

  1. 01

    Rate card

    GPU-hour rates, or purchase price over depreciation plus power, space and support.

    Your finance team

  2. 02

    Snapshots

    Hourly GPU capacity, requests and utilization from each on-premises cluster.

    Agent

  3. 03

    Allocate

    Owned GPU cost split by GPU requests, idle owned GPUs reported with their cost.

    KubeOn hub

  4. 04

    Plan

    Use idle owned capacity, by sharing or rescheduling, before the next hardware order.

    Capacity owner

KubeOn never changes your clusters. With a self-hosted hub, no data leaves your network.

Read the workflow

The problem

Bought once, then invisible

No invoice

The servers came from a capital budget years ago, so the teams using them never see a cost.

Power is the hidden line

GPU servers draw far more than general servers, and the facility adds cooling and distribution on top.

Buying before using

New hardware gets ordered while owned GPUs sit allocated but barely used.

No like-for-like comparison

Cloud GPUs have an hourly price and owned ones do not, so the build-or-rent decision is a guess.

GPU-hour rates

A GPU-hour rate from what the servers really cost

Set a GPU-hour rate per node pool or label, or attach the purchase price, depreciation period and monthly power, space and support to the racks they cover. Rate cards are effective-dated, so a new support contract changes next month, not last year.

  • Unit rates or amortized hardware
  • Matched to nodes by pool or label
  • Reviewed with finance, versioned in Git
rate-cards/dc1-standard.yaml
# rate-cards/dc1-standard.yamlapiVersion: kubeon.io/v1kind: RateCardmetadata:  name: dc1-standardspec:  currency: USD  effectiveFrom: "2026-01-01"  # Option 1: unit rates, per node pool or node label  rates:    - match: { nodeLabel: "node.kubernetes.io/pool=general" }      vcpuHour: 0.0312      memoryGiBHour: 0.0041    - match: { nodeLabel: "node.kubernetes.io/pool=gpu" }      vcpuHour: 0.0312      memoryGiBHour: 0.0041      gpuHour: 1.18  storage:    - storageClass: ceph-rbd      gibMonth: 0.06  # Option 2: amortized hardware, spread across the nodes it covers  hardware:    - match: { nodeLabel: "kubeon.io/rack=r12" }      purchasePrice: 184000      depreciationMonths: 48      monthly:        power: 1450        space: 900        support: 610

Same method as cloud

Owned GPUs allocated by request, idle GPUs reported

Once a GPU has a rate, it is allocated exactly like a cloud GPU: by the GPUs pods requested each hour, with unrequested GPUs reported as idle owned capacity. Teams see their data center GPU cost next to their cloud spend.

  • Hourly GPU requests per pod
  • Idle owned GPUs with their monthly cost
  • Data center and cloud in one report

Before the next order

Use the GPUs you own before buying more

Idle owned GPUs, and allocated GPUs running at low utilization, are capacity you have already paid for. MIG and time-slicing proposals on owned servers report the GPUs they would free at your rate card, so capacity planning starts from what is free, not from the queue of requests.

  • Idle and under-used owned GPUs per rack and pool
  • GPUs freed by sharing, priced at the rate card
  • Cloud and owned GPU-hour rates side by side

Self-hosted

Runs inside the data center it measures

A self-hosted KubeOn hub runs on your own Kubernetes cluster, with images from your registry. It needs no cloud billing export and no outbound internet access: rate cards replace the bill, and every snapshot stays in your network.

  • Helm chart for any conformant cluster
  • Images mirrored to your registry
  • No data leaves your network
Self-hosted hub
kubectl create namespace kubeon-hubkubectl -n kubeon-hub create secret generic kubeon-hub-secrets \  --from-literal=DATABASE_URL="postgresql://kubeon:<password>@postgres.internal:5432/kubeon" \  --from-literal=JWT_SECRET="$(openssl rand -base64 48)"helm upgrade --install kubeon-hub kubeon/kubeon \  --namespace kubeon-hub \  --set mode=hub \  --set secrets.existingSecret=kubeon-hub-secrets \  --set ingress.enabled=true \  --set ingress.host=kubeon.example.com \  --set autoscaling.api.maxReplicas=6

What goes into a GPU-hour

Four inputs to an owned GPU's price

InputHow it becomes a monthly costWhere it comes from
HardwarePurchase price divided by the depreciation period in monthsFinance's asset register
PowerAverage IT power in kW x facility overhead (PUE) x hours x price per kWhFacilities, or a measured PUE
SpaceRack or floor cost for the server's share of the rackColocation contract or facilities
Support and softwareHardware support, operating system and GPU software licencesVendor contracts

Uptime Institute's 2024 survey put the average data center PUE at 1.56: total facility power about 56% above the IT load. See pricing Kubernetes in your own data center on the blog.

Capabilities

Owned GPU capacity with a price

GPU-hour rate cards

Unit rates or amortized hardware, effective-dated.

Rack and pool matching

Rates applied by node pool or label.

Team allocation

Owned GPUs split by request, like cloud ones.

Idle owned GPUs

Unrequested capacity with its monthly cost.

Cloud comparison

Owned and cloud GPU-hours on one basis.

Air-gapped hub

Self-hosted, with no outbound access needed.

FAQ

GPU data centers, answered

From you and your finance team: a unit rate per GPU-hour, or purchase price over the depreciation period plus monthly power, space and support. KubeOn applies it; it does not guess it.

Evaluate GPU data centers with your team.

Bring your platform and FinOps priorities. We will walk through the data, controls and evidence for your evaluation.