Ephemeral Kubernetes clusters for AI experiments

Spin up isolated clusters per PR, per experiment, or per notebook. No setup. Automatic cleanup. GPU-ready.

The problem with shared clusters

CRD collisions

Multiple teams deploying incompatible custom resources crash each other's workloads.

GPU starvation

Long-running jobs starve other experiments. Quotas don't provide true resource isolation.

State pollution

Leftover resources, failed deployments, and cluster state from other teams interfere with your work.

Slow feedback loops

Shared clusters mean slow testing, unreliable results, and manual troubleshooting.

One cluster per workload

Isolation that works

Ghostcluster creates an ephemeral, fully-isolated Kubernetes cluster for every PR, experiment, or notebook. Each cluster has its own API server, scheduler, and etcdβ€”no shared state, no conflicts.

All clusters share the underlying host GPUs and nodes efficiently. When your TTL expires, the cluster auto-destructs. No cleanup. No orphaned resources.

Standard kubectl. Standard workloads. Instant isolation.

Your PR / Notebook
        ↓
   ghostctl up
        ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ vCluster Instanceβ”‚
β”‚  (isolated)      β”‚
β”‚  API + scheduler β”‚
β”‚  + local etcd    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        ↓
Shared GPU Node Pool
        ↓
Auto-destroy on TTL

How it works

1. Command

One CLI command spins up a complete K8s cluster with GPU quotas in seconds.

2. Isolated

Full control plane isolation. CRDs, RBAC, and resources scoped to your cluster only.

3. Resource-safe

GPU quotas guaranteed. Other experiments can't starve your workload.

4. Auto-cleanup

TTL-based expiration. Cluster tears down automaticallyβ€”zero manual teardown.

Get started in seconds

$ ghostctl up --gpu 1 --ttl 24h
βœ“ Cluster created: cluster-pr-421 βœ“ GPU quota: 1x NVIDIA A100 βœ“ Kubeconfig: ~/.kube/configs/cluster-pr-421 βœ“ Self-destruct: 24 hours βœ“ Ready in 8s

Then deploy with standard kubectl. Cluster auto-cleans when TTL expires.

Outcome: What you get

Fast feedback loops

Real Kubernetes in seconds. Test operators, CRDs, GPU workloads without fear.

Predictable resources

GPU quotas guaranteed. No competition. No starvation. Run experiments in parallel.

Zero manual cleanup

TTL handles teardown. No orphaned resources. No surprise costs. No toil.

Developer velocity

CI/CD integration. Cluster per PR. Code β†’ review β†’ isolated test β†’ merge.

Cost control

Clusters only live as long as needed. Auto-expiration = no wasted resources.

Production-grade isolation

Full Kubernetes isolation without overhead. Built on proven vCluster technology.

Ghostcluster OSS vs. Cloud

Start with open-source. Upgrade to managed automation when you're ready. Same ghostctl CLI. No lock-in.

πŸš€ Ghostcluster OSS

Open-source. Self-hosted. Available now.

  • ghostctl CLI
  • vCluster-based isolation
  • TTL auto-cleanup
  • GPU quota management
  • Cluster per PR workflows
  • Standard kubectl integration
  • MIT License

☁️ Ghostcluster Cloud

Managed. Hands-off automation. Coming soon.

  • Everything in OSS
  • GitHub PR integration
  • Auto-spawn clusters
  • Cost attribution
  • Team RBAC
  • Audit logs
  • Priority support

Built on proven technology

vCluster-powered: Production-grade cluster isolation used at scale by enterprises.

Kubernetes-native: Standard API, standard tools, standard workloads. No vendor lock-in.

Open-source: MIT licensed. Community-driven. Your infrastructure, your control.

Ready to run cluster per PR?

Ghostcluster is free, open-source, and production-ready. Deploy on your infrastructure today.

MIT Licensed β€’ Community-driven β€’ Self-hosted on your infrastructure