vcluster README

The project's README from github.com/loft-sh/vcluster. As one markdown file: README.md.

vCluster

Tenant Clusters for AI clouds, AI factories, and production Kubernetes

Run your infrastructure like a hyperscaler. Every team, customer, and training run gets its own isolated cluster.

GitHub stars Slack LinkedIn X

Website · Quickstart · Documentation · Blog · Slack


Certified Kubernetes: Distribution      Kubernetes AI Conformant

CNCF Certified Kubernetes · Distribution · Kubernetes AI Conformant


About

vCluster creates Tenant Clusters: fully isolated environments delivered as managed Kubernetes, or as the foundation for Slurm, Ray, Run:ai and inference clusters. Each gets its own API server, CRDs and RBAC, and runs on an existing cluster or standalone on bare metal. CNCF Certified Kubernetes.

Every cluster becomes a product you can ship. Sell it to customers or serve it to internal teams from the same platform, with each tenant seeing only their own cluster and nothing else. The control plane stays invisible to tenants: no shared control plane nodes, no in-cluster agent pods, and no lateral path between environments.

Because a Tenant Cluster is upstream Kubernetes, everything built for the standard API works against it unmodified: kubectl, Helm, Argo, Crossplane, operators, and CRDs.

40M+ Tenant Clusters deployed. vCluster runs in production at Adobe, CoreWeave, NVIDIA, Nebius, Lintasarta, Atlan, Deloitte, and across 50+ AI clouds and Fortune 500 platform organizations, powering 100K+ GPUs and 1M+ CPUs.

vCluster demo: tenant team-a installs a CRD as cluster-admin, then the same command in tenant team-b returns nothing


🚀 Quick start

# Install the vCluster CLI
brew install loft-sh/tap/vcluster

# Create a Tenant Cluster
vcluster create my-vcluster --namespace team-x

# Use kubectl as usual. You are now inside your Tenant Cluster.
kubectl get namespaces

Prerequisites: a running Kubernetes cluster and kubectl configured.

👉 Full quickstart guide

🐳 Run locally on Docker with vind

No Kubernetes cluster? Run a complete Tenant Cluster in Docker containers with vind (vCluster in Docker). Like kind, but with the full vCluster feature set: UI, sleep and resume, LoadBalancer, image cache, and external nodes joining over VPN.

vcluster create my-vcluster --driver docker
kubectl get namespaces

🎮 Try it in the browser

Try on Killercoda

🎁 vCluster free tier

Real usage, not a gated demo. Unlimited Tenant Clusters up to 64 CPUs and 32 GPUs, plus the full vCluster Platform UI, for free. Get started free →


🧩 Every kind of cluster

One platform turns raw compute into the cluster type each tenant actually asks for. Kubernetes is the foundation; the rest are delivered on top of it.

Cluster type What a tenant gets
Kubernetes Clusters A dedicated, CNCF-certified Kubernetes cluster with its own API server, CRDs, and RBAC
Nested Clusters Tenant Clusters running on the Control Plane Cluster's shared nodes for maximum density
Inference Clusters Serving stacks such as Dynamo and llm-d, isolated per tenant
Ray Clusters Ray for distributed training and data processing, isolated per tenant
Run:ai Clusters Run:ai scheduling on top of an isolated Tenant Cluster
Slurm Clusters (Beta) Managed Slurm for HPC and batch training
Agent Sandbox Clusters (Coming soon) Isolated clusters for agentic and untrusted code execution

Slurm, Ray, Run:ai, inference, and agent sandbox clusters are delivered through vCluster Platform. This repository is the open-source engine that every one of them is built on.

👉 See all cluster types


🏗️ Architectures

vCluster supports multiple deployment architectures. Two things vary independently: where the control plane runs (an existing Kubernetes cluster, a standalone binary, or Docker) and how tenant workloads are placed (shared nodes or private nodes). The modes below combine them, offering progressively stronger isolation from dense shared infrastructure through to fully standalone deployments on bare metal.

Architecture comparison

Shared Nodes Dedicated Nodes Private Nodes Standalone
Control Plane Cluster Required Required Required Not required
Node isolation ❌ ✅ ✅ ✅
CNI/CSI isolation ❌ ❌ ✅ ✅
Bare metal ready · · ✅ ✅
Best for Dev/test, density Production tenants Compliance, GPU AI factories, edge

👉 Full architecture guide

Minimal configuration

🔹 Shared Nodes: maximum density, minimum cost Tenant Clusters share the Control Plane Cluster's nodes. Workloads run as regular pods in a namespace.
Shared Nodes architecture
sync:
  fromHost:
    nodes:
      enabled: false  # Uses pseudo nodes
🔹 Dedicated Nodes: isolated compute on labeled node pools Tenant Clusters get their own set of labeled nodes on the Control Plane Cluster. Workloads are isolated but still managed by the Control Plane Cluster.
Dedicated Nodes architecture
sync:
  fromHost:
    nodes:
      enabled: true
      selector:
        labels:
          tenant: my-tenant
🔹 Private Nodes v0.27+: full CNI/CSI isolation External nodes join the Tenant Cluster directly with their own CNI, CSI, and networking stack, through a token-based process. No cross-tenant visibility, and complete infrastructure separation from the Control Plane Cluster. Nodes can also join over an encrypted VPN overlay v0.30+, so one Tenant Cluster can span sites, networks, and clouds.
Private Nodes architecture
privateNodes:
  enabled: true
controlPlane:
  service:
    spec:
      type: NodePort
🔹 vCluster Standalone v0.29+: no Control Plane Cluster required A complete, zero-dependency Kubernetes distribution. Run the whole control plane as a self-contained binary directly on bare metal or VMs. This is how providers solve the "cluster one" problem when building infrastructure from scratch.
Standalone architecture
controlPlane:
  standalone:
    enabled: true
    joinNode:
      enabled: true
privateNodes:
  enabled: true
⚡ Auto Nodes v0.28+: Karpenter-powered dynamic autoscaling Automatically provision and deprovision private nodes based on workload demand. Works across public cloud, private cloud, hybrid, and bare metal environments. Node profiles v0.36+ let each pool carry its own node configuration.
Auto Nodes architecture
autoNodes:
  enabled: true
  nodeProvider: <provider>
privateNodes:
  enabled: true
🐳 vind v0.32+: a complete Tenant Cluster in Docker, no Kubernetes required The control plane and worker nodes run as containers on a single Docker host, using private nodes underneath. There is no Control Plane Cluster and no Kubernetes dependency at all, which makes this the fastest way to get a real Tenant Cluster on a laptop or a CI runner. Docker deployment is driven by the CLI rather than by vcluster.yaml.
vcluster create my-vcluster --driver docker

✨ Key features

Feature Description
🎛️ Its own API server, per tenant Every Tenant Cluster runs a dedicated control plane: API server, controller manager, and data store. Full Kubernetes API isolation, not a namespace with rules layered on top
🔒 Strong tenant isolation Tenants hold admin inside their Tenant Cluster while holding minimal permissions on the Control Plane Cluster
🎮 GPU-aware scheduling Dynamic Resource Allocation with resource claims, resource claim templates, and device classes, plus in-place pod resizing
⚡ Auto Nodes Karpenter-powered provisioning and deprovisioning of private nodes across cloud, hybrid, and bare metal, with per-pool node profiles
🖥️ Standalone deployment Run without a Control Plane Cluster on dedicated infrastructure or bare metal, purpose-built for AI factories and on-prem GPU fleets
🐳 Runs on Docker A complete Tenant Cluster in Docker containers with no Kubernetes dependency, through vcluster create --driver docker
🔐 Node VPN (Platform) Private nodes join over an encrypted overlay, so a single Tenant Cluster can span sites, networks, and clouds
📸 Snapshot and restore Snapshot a Tenant Cluster to S3, OCI, Azure Blob, or local storage, and restore it elsewhere
💤 Sleep mode (Platform) Pause inactive Tenant Clusters to save resources, with instant wake when needed
🔗 Shared platform stack (Shared / Dedicated Nodes) Reuse the Control Plane Cluster's CNI, CSI, ingress, and other infrastructure, with no duplicate platform components
🔄 Resource syncing (Shared / Dedicated Nodes) Bidirectional sync of any Kubernetes resource: pods, services, secrets, configmaps, CRDs, and Gateway API objects
🧩 Integrations Native support for cert-manager, external-secrets, KubeVirt, Istio, and metrics-server
📊 High availability Multiple replicas with leader election. Embedded etcd or external databases (PostgreSQL, MySQL, RDS)

Shared platform stack, resource syncing, and Control Plane Cluster integrations apply in Shared and Dedicated Nodes modes, where the Tenant Cluster reuses the Control Plane Cluster's CNI, CSI, and platform stack. Private Nodes and Standalone deployments bring their own CNI, CSI, and platform components.


🆕 What's new

Version Feature Description
v0.36 Gateway API and node profiles Gateway API sync for Tenant Clusters, node profiles for private nodes, and a pinnable standalone advertise address
v0.35 Snapshots and Kubernetes 1.36 etcd v3 snapshot facilities for embedded etcd, wildcard custom resource proxy, kine metrics, Kubernetes v1.36
v0.34 Multi-region platform and standalone snapshots Active/active vCluster Platform across regions (Route 53 + RDS), standalone snapshots (S3 / OCI / local), first-class template parameters
v0.33 Enterprise reliability and storage Automatic leaf-cert regeneration, Azure Blob snapshot destinations, workload-level sleep annotations
v0.32 Docker driver and DRA Run vCluster on Docker, Dynamic Resource Allocation (DRA) for GPU workloads, in-place pod resizing
v0.27–v0.31 Architecture foundations Private Nodes (v0.27), Auto Nodes (v0.28), Standalone (v0.29), vCluster VPN and Netris (v0.30), snapshot and cross-cluster APIs (v0.31)

👉 Full changelog


🎯 Who runs vCluster

Use case What it solves Learn more
AI cloud providers Launch a hyperscaler-like managed cluster experience for GPU customers. Automate tenant, cluster, and bare metal provisioning end to end. View →
AI factories Run AI on-prem where your data and GPUs live. Give every team the GPU access they need without multiplying infrastructure. View →
Internal GPU platforms Maximize GPU utilization without sacrificing isolation. Self-service Kubernetes for AI/ML teams. View →
Distributed inference Isolated, production-grade serving stacks per tenant, per model, or per customer. View →
Sovereign clouds Data residency and tenant isolation enforced at the infrastructure layer. View →
Bare metal Kubernetes Run production Kubernetes on bare metal with zero VMs. Isolation without virtualization overhead. View →
Software vendors Ship Kubernetes-native products. Each customer gets their own isolated Tenant Cluster. View →
Environments and cost savings Consolidate clusters, pause idle workloads with sleep mode, and cut Kubernetes cost at scale. View →

Start turnkey with the vCluster Platform UI and CLI, or call the APIs and put your own portal and brand in front. It is a two-way door, with no re-platforming.


🌐 The vCluster stack

vCluster is the foundation of a broader platform for running Kubernetes and AI infrastructure on your own hardware, from a single rack to 100K-GPU superclusters.

Product What it does
vCluster Tenant Clusters. A dedicated control plane per tenant, with API, data, and optionally network isolation
vNode Runtime-level isolation. Kernel-enforced boundaries (Linux user namespaces, seccomp, cgroups, AppArmor) without VM overhead
vMetal Bare metal provisioning and lifecycle for GPU fleets. Turns GPU racks into a cloud platform
Netris (integration) Hardware-enforced network isolation via programmatic VLANs, VRFs, and ACLs

Together they provide the full stack for an AI factory: certified Kubernetes, isolated Tenant Clusters, runtime workload sandboxing, and GPU infrastructure operations. The ClusterMAX™ security criteria call for strong isolation between tenants, and name vNode Private Nodes.


🏢 Trusted by

Nebius
AI cloud tenant isolation
QumulusAI
1 min to spin up isolated K8s
Polarise
100% data residency at the infra layer
Boost-Run
<45 days to production launch
Lintasarta
170+ Tenant Clusters in production
CoreWeave
GPU cloud at scale
Atlan
100 → 1 clusters
Fortune 500 Insurance
70% reduction in Kubernetes cost
Deloitte
Enterprise Kubernetes platform
Aussie Broadband
99% faster provisioning
Ada
10x developer productivity
Scanmetrix
99% faster deployments

Also used by: Adobe, NVIDIA, ABBYY, Precisely, Shipwire, and many more, with 50+ GPU clouds and Fortune 500s running vCluster in production.

👉 View all case studies


📚 Learn more

🎤 Conference talks
Event Speaker Title Link
NVIDIA GTC 2026 Lukas Gentele Build a Software-Defined Multi-Tenant NVLinked Cluster Watch
KubeCon NA 2025 (Keynote) Lukas Gentele Autoscaling GPU Clusters Anywhere Watch
Platform Engineering Day NA 2025 (Keynote) Saiyam Pathak AI-Ready Platforms: Scaling Teams Without Scaling Costs Watch
Rejekts NA 2025 Hrittik Roy, Saiyam Pa

vcluster (loft-sh/vcluster)

multi-tenancy
Searching Database…

11.4K ·GitHub
What is this?vCluster creates Tenant Clusters: fully isolated virtual Kubernetes clusters, each with its own API server, CRDs, and RBAC, running on top of an existing Kubernetes cluster or standalone on bare metal.
Is this a Kubernetes add-on or a full cluster distribution?Both: it is a tool/engine you run on top of an existing Kubernetes cluster (as a workload) or as a standalone, zero-dependency Kubernetes distribution directly on bare metal or VMs.
How do I get a Tenant Cluster running?With a running Kubernetes cluster and kubectl configured, follow the quickstart guide; or if you have no cluster at all, run a full Tenant Cluster locally in Docker containers using vind (vCluster in Docker).
Do I need an existing Kubernetes cluster to try it?Not necessarily: Shared/Dedicated/Private Nodes modes need an existing host cluster, but the Standalone and vind (Docker) modes have no Kubernetes dependency at all.
Is Slurm support ready for production?No, Slurm Cluster support is listed as Beta, and Agent Sandbox Clusters are marked 'Coming soon', so not all cluster types are production-ready yet.
Who actually uses vCluster in production?AI cloud providers, platform engineering teams, and enterprises running shared GPU infrastructure; it's used in production at Adobe, CoreWeave, NVIDIA, Nebius, Deloitte and 50+ AI clouds and Fortune 500 companies.
Does a Tenant Cluster work with my existing tools like kubectl and Helm?Yes, because a Tenant Cluster is upstream Kubernetes, tools built for the standard API work unmodified, including kubectl, Helm, Argo, Crossplane, operators, and CRDs.
How is isolation enforced between tenants?Each tenant gets a dedicated control plane (API server, controller manager, data store), with no shared control plane nodes or in-cluster agent pods, and Private Nodes mode adds full CNI/CSI network isolation.
Can vCluster handle GPU workloads specifically?Yes, it supports GPU-aware scheduling via Dynamic Resource Allocation with resource claims and device classes, plus Karpenter-powered Auto Nodes for dynamic GPU provisioning across cloud, hybrid, and bare metal.
What is vind?vind (vCluster in Docker) runs a complete Tenant Cluster as containers on a single Docker host with no Kubernetes dependency, making it the fastest way to try a real Tenant Cluster on a laptop or CI runner.
Creator
loft-sh
Size
145 MB
Stars
11.4K
Age
5y
Commits · 90 Days