Skip to content

Latest commit

 

History

4,473 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 Pathak Beyond the Default Scheduler: Navigating GPU MultiTenancy in AI Era Watch
KubeCon EU 2025 Paco Xu, Saiyam Pathak A Huge Cluster or Multi-Clusters? Identifying the Bottleneck Watch
HashiConf 2025 Scott McAllister GPU sharing done right: Secrets, security, and scaling with Vault and vCluster Watch
FOSDEM 2025 Hrittik Roy, Saiyam Pathak Accelerating CI Pipelines: Rapid Kubernetes Testing with vCluster Watch
KubeCon India 2024 (Keynote) Saiyam Pathak From Outage To Observability: Lessons From a Kubernetes Meltdown Watch
CNCF Book Club 2024 Marc Boorshtein Kubernetes: An Enterprise Guide (vCluster) Watch
KCD NYC 2024 Lukas Gentele Tenant Autonomy & Isolation In Multi-Tenant Kubernetes Clusters Watch
KubeCon EU 2023 Ilia Medvedev, Kostis Kapelonis How We Securely Scaled Multi-Tenancy with VCluster, Crossplane, and Argo CD Watch
KubeCon NA 2022 Joseph Sandoval, Dan Garfield How Adobe Planned For Scale With Argo CD, Cluster API, And VCluster Watch
KubeCon NA 2022 Whitney Lee, Mauricio Salatino What a RUSH! Let's Deploy Straight to Production! Watch
TGI Kubernetes 2022 TGI TGI Kubernetes 188: vCluster Watch
Mirantis Tech Talks 2022 Mirantis Multi-tenancy & Isolation using Virtual Clusters (vCluster) in K8s Watch
Solo Webinar 2022 Rich Burroughs, Fabian Keller Speed your Istio development environment with vCluster Watch
KubeCon NA 2021 Lukas Gentele Beyond Namespaces: Virtual Clusters are the Future of Multi-Tenancy Watch
🎬 Community voice
Channel Speaker Title Link
TeKanAid 2024 TeKanAid Getting Started with vCluster: Build Your IDP with Backstage, Crossplane, and ArgoCD Watch
Rawkode 2021 David McKay, Lukas Gentele Hands on Introduction to vCluster Watch
Kubesimplify 2021 Saiyam Pathak, Lukas Gentele Let's Learn vCluster Watch
TechWorld with Nana 2021 Nana Build your Self-Service Kubernetes Platform with Virtual Clusters Watch
DevOps Toolkit 2021 Viktor Farcic How To Create Virtual Kubernetes Clusters Watch

Featured in 4 books on Kubernetes and platform engineering.

👉 YouTube channel · Blog · Resources


🤝 Contributing

We welcome contributions. Check out the contributing guide to get started.


💬 Connect with us


📜 License

vCluster is licensed under the Apache 2.0 License.


© 2026 vCluster Labs. All rights reserved.

Made with ❤️ by the vCluster community.

Star us on GitHub. It helps.

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.

Topics

Resources

Contributing

Security policy

Stars

11.3k stars

Watchers

54 watching

Forks

Releases

Packages

Used by

Contributors

Languages