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)

Searching Database…

11.4K ·GitHub
这是什么?vCluster 可以创建 Tenant Cluster:完全隔离的虚拟 Kubernetes 集群,每个都拥有自己的 API 服务器、CRD 和 RBAC,运行在现有 Kubernetes 集群之上,或直接以独立方式运行在裸金属服务器上。
这是 Kubernetes 扩展组件还是完整的集群发行版?两者皆是:它是一个可以运行在现有 Kubernetes 集群之上(作为工作负载)的工具/引擎,也可以作为独立的、零依赖的 Kubernetes 发行版,直接部署在裸金属服务器或虚拟机上。
我该如何让 Tenant Cluster 运行起来?如果已有运行中的 Kubernetes 集群并配置好 kubectl,请按照快速入门指南操作;如果完全没有集群,则可以使用 vind(Docker 中的 vCluster),在本地 Docker 容器中运行完整的 Tenant Cluster。
试用它需要已有 Kubernetes 集群吗?不一定:Shared/Dedicated/Private Nodes 模式需要已有的宿主集群,但 Standalone 模式和 vind(Docker)模式完全不依赖 Kubernetes。
Slurm 支持已经可以用于生产环境了吗?还不行:Slurm Cluster 支持目前标注为 Beta,Agent Sandbox Clusters 则标注为“即将推出”,因此并非所有集群类型都已可用于生产环境。
实际在生产环境中使用 vCluster 的都是哪些用户?AI 云服务商、平台工程团队,以及运行共享 GPU 基础设施的企业;它已在 Adobe、CoreWeave、NVIDIA、Nebius、Deloitte 以及 50 多家 AI 云和财富 500 强企业的生产环境中使用。
Tenant Cluster 能和我现有的 kubectl、Helm 等工具一起使用吗?可以,因为 Tenant Cluster 就是上游 Kubernetes,为标准 API 构建的工具无需修改即可使用,包括 kubectl、Helm、Argo、Crossplane、Operator 和 CRD。
租户之间是如何实现隔离的?每个租户都拥有专用的控制平面(API 服务器、控制器管理器、数据存储),不共享控制平面节点,也没有集群内的代理 Pod;Private Nodes 模式还会增加完整的 CNI/CSI 网络隔离。
vCluster 能专门处理 GPU 工作负载吗?可以,它支持通过动态资源分配(Dynamic Resource Allocation)实现 GPU 感知调度,支持资源声明(resource claims)和设备类(device classes),并提供由 Karpenter 驱动的 Auto Nodes,可在公有云、混合云和裸金属环境中动态配置 GPU 资源。
vind 是什么?vind(Docker 中的 vCluster)可在单台 Docker 主机上以容器形式运行完整的 Tenant Cluster,且完全不依赖 Kubernetes,是在笔记本电脑或 CI 运行器上体验真实 Tenant Cluster 最快的方式。
Creator
loft-sh
Size
145.2 MB
Stars
11.4K
Age
5y
Commits · 90 Days