Self-hosted · Open source

Burst incredible.
No hassle.

When a pod can’t be scheduled, Cloudburst adds the cheapest node across multiple clouds. One brain (CloudBroker), one set of hands (the Autoscaler). No manual resizing. No lock-in.

Quick flow:

  • kubectl get pods → Pending
  • kubectl get nodeclaims → Provisioning
  • Node Ready → Pod scheduled
# pod is Pending — no capacity
$ kubectl get pods
NAME          STATUS    REASON
my-job-xk9p   Pending   Unschedulable

# cloudburst detects demand, asks CloudBroker
$ kubectl get nodeclaims
NAME                     PHASE         PROVIDER   INSTANCE   AGE
cloudburst-pool-x7kq2    Provisioning  hetzner    cx31       8s

# node joins, pod schedules
$ kubectl get nodes -l cloudburst.io/provider
NAME                     STATUS   VERSION
cloudburst-pool-x7kq2    Ready    v1.34.3

✓ Pod scheduled · €0.009/hr · scale-down in 60s idle
Node lifecycle: Pod unschedulable → Cloudburst controllers (NodePool, NodeClass, NodeClaim) → CloudBroker → VM provisioned → Bootstrap → Node Ready. Scale-down: empty + TTL → cordon, drain, delete.
Full lifecycle from unschedulable pod to scale-down.

Simple. Fast. Cost-aware.

CRD-driven

NodePool, NodeClass, NodeClaim — define policy once, let the controller act.

Fast provisioning

Unschedulable pod detected → cheapest VM chosen → node Ready. Fully automated.

Cost-aware

CloudBroker picks the cheapest fit across 8 clouds. No manual picking, no lock-in.

8 providers

AWS, GCP, Azure, Hetzner, Scaleway, DigitalOcean, OVH, Aruba — burst wherever it's cheapest.

Self-hosted

Your cluster, your data, your costs. MIT licensed. No vendor dependency.

Why Cloudburst

Simple configuration. Automatic operation. Yours to own.

Simple

One NodePool and NodeClass per provider. Apply manifests, let the controller act. No scripts, no custom tooling.

Automatic

Unschedulable pod triggers a burst node. No manual work. Node joins via Tailscale, pod schedules, scales down when idle.

Yours

Self-hosted controller, MIT licensed. No vendor lock-in. Runs in your cluster, uses your credentials.

Use cases

When Cloudburst fits best.

Cost-optimised batch & CI

Cheapest burst node for batch jobs, CI, or ML training.

Cross-cloud hybrid

EKS control plane, burst workers to Hetzner/Scaleway via Tailscale.

EU compliance

Restrict bursts to EU regions via CloudBroker's region constraint.

Dev/staging scale-to-zero

Base cluster at zero; burst only when devs run integration tests.

Event-driven spikes

Handle launches or campaigns without year-round over-provisioning.

Disaster recovery & failover

Automatic failover to alternative providers when primary cloud fails.

Supported providers

Burst to the cheapest node across multiple clouds. More providers are added over time.

AWS
GCPGCP
Azure
HetznerHetzner
ScalewayScaleway
DigitalOceanDigitalOcean
OVHOVH
ArubaAruba

Burst nodes via CloudBroker · Cheapest instance selected automatically

Cloudburst vs alternatives

Same problem (unschedulable pods → provision nodes → deprovision when idle). Different focus.

Cloudburst Karpenter Cluster Autoscaler
Provider scope Multi-cloud (GCP, AWS, Azure, Hetzner, Scaleway, DigitalOcean, OVH, Aruba) Primarily AWS (EKS) Per-provider (node groups)
Cost selection Cheapest instance across providers (via CloudBroker) Spot/preemptible within same cloud Resize existing node groups
Cross-cloud burst ✅ Yes — e.g. EKS control plane, Hetzner burst nodes (Tailscale) ❌ No — nodes in same cloud as cluster ❌ No — scales node groups in-place

The only self-hosted multi-cloud autoscaler with 8 providers and automatic failover.

Architecture

DemandDetector, NodePool and NodeClaim controllers, bootstrap and scale-down flow.

Examples

With CloudBroker and Tailscale running, apply the CRDs and sample manifests. Each example includes NodePool, NodeClass, workload YAML, and exact kubectl commands.

Frequently asked questions

How they work together

Powered by CloudBroker: the recommendation API that knows prices across multiple clouds. Cloudburst asks; CloudBroker answers.

Get your first burst node in minutes.

8 cloud providers. Self-hosted. Cost-aware. No vendor lock-in.