Convert Figma logo to code with AI

loft-sh logovcluster

vCluster - Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It's cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces.

11,130
573
11,130
153

Top Related Projects

Home for Cluster API, a subproject of sig-cluster-lifecycle

6,413

Little helper to run CNCF's k3s in Docker

31,955

Run Kubernetes locally

32,960

Lightweight Kubernetes

15,366

Kubernetes IN Docker - local clusters for testing Kubernetes

10,144

Backup and migrate Kubernetes applications and their persistent volumes

Quick Overview

vcluster is an open-source project that creates virtual Kubernetes clusters within a host Kubernetes cluster. It allows users to create lightweight, isolated environments for development, testing, and multi-tenancy scenarios without the overhead of spinning up separate physical clusters.

Pros

  • Efficient resource utilization by running multiple virtual clusters on a single host cluster
  • Improved isolation and security between different teams or projects
  • Easy to set up and manage compared to full-fledged Kubernetes clusters
  • Supports most standard Kubernetes tools and workflows

Cons

  • Some limitations in terms of supported Kubernetes features compared to full clusters
  • Potential performance overhead due to the virtualization layer
  • Requires careful planning for resource allocation to avoid overloading the host cluster
  • Learning curve for understanding the concept and management of virtual clusters

Getting Started

To get started with vcluster, follow these steps:

  1. Install the vcluster CLI:
curl -L -o vcluster "https://github.com/loft-sh/vcluster/releases/latest/download/vcluster-$(uname -s)-$(uname -m)" && chmod +x vcluster && sudo mv vcluster /usr/local/bin
  1. Create a virtual cluster:
vcluster create my-vcluster
  1. Connect to the virtual cluster:
vcluster connect my-vcluster
  1. Use kubectl to interact with the virtual cluster:
kubectl get pods
  1. Delete the virtual cluster when done:
vcluster delete my-vcluster

For more advanced usage and configuration options, refer to the official vcluster documentation.

Competitor Comparisons

Home for Cluster API, a subproject of sig-cluster-lifecycle

Pros of Cluster API

  • Provides a standardized, declarative approach to cluster lifecycle management across various infrastructure providers
  • Offers more extensive support for managing multiple clusters and complex multi-cloud deployments
  • Has strong community support and is part of the official Kubernetes SIG ecosystem

Cons of Cluster API

  • Requires more setup and configuration compared to vcluster's lightweight approach
  • Has a steeper learning curve, especially for users new to Kubernetes cluster management
  • May be overkill for simple use cases or local development environments

Code Comparison

vcluster:

apiVersion: v1
kind: ConfigMap
metadata:
  name: my-vcluster-config
data:
  config.yaml: |
    sync:
      nodes: false

Cluster API:

apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
  name: my-cluster
spec:
  clusterNetwork:
    pods:
      cidrBlocks: ["192.168.0.0/16"]
  infrastructureRef:
    apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
    kind: AWSCluster
    name: my-cluster

The code examples demonstrate the difference in complexity and scope between the two projects. vcluster focuses on lightweight virtual clusters within an existing Kubernetes cluster, while Cluster API provides a more comprehensive approach to managing full-fledged Kubernetes clusters across various infrastructure providers.

6,413

Little helper to run CNCF's k3s in Docker

Pros of k3d

  • Lightweight and fast setup for local Kubernetes development
  • Supports multi-node clusters, simulating more realistic environments
  • Integrates well with existing Docker infrastructure

Cons of k3d

  • Limited to local development environments
  • Doesn't provide true multi-tenancy or isolation between virtual clusters
  • May not fully replicate production Kubernetes environments

Code Comparison

k3d:

k3d cluster create mycluster --servers 3 --agents 2

vcluster:

vcluster create mycluster
kubectl config use-context vcluster_mycluster

Key Differences

  • k3d creates lightweight Kubernetes clusters using k3s in Docker containers, ideal for local development and testing.
  • vcluster creates virtual clusters within existing Kubernetes clusters, providing better isolation and multi-tenancy.
  • k3d is more focused on local development, while vcluster can be used in both local and production environments.
  • vcluster offers better resource isolation and namespace separation between virtual clusters.
  • k3d provides an easier setup for multi-node clusters, which can be beneficial for testing distributed applications.

Both tools serve different purposes and can be complementary in a Kubernetes development workflow, with k3d excelling in local development and vcluster offering more flexibility for multi-tenancy and production-like environments.

31,955

Run Kubernetes locally

Pros of Minikube

  • Simulates a full Kubernetes cluster on a local machine, providing a more realistic environment
  • Supports multiple hypervisors and operating systems, offering greater flexibility
  • Includes built-in addons for enhanced functionality and easier management

Cons of Minikube

  • Requires more system resources due to running a full VM
  • Setup and teardown can be slower compared to lightweight alternatives
  • Limited scalability for testing larger deployments or multi-node scenarios

Code Comparison

Minikube:

minikube start
kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.10
kubectl expose deployment hello-minikube --type=NodePort --port=8080
minikube service hello-minikube

vcluster:

vcluster create my-vcluster
vcluster connect my-vcluster
kubectl create deployment hello-vcluster --image=k8s.gcr.io/echoserver:1.10
kubectl expose deployment hello-vcluster --type=ClusterIP --port=8080
kubectl port-forward service/hello-vcluster 8080:8080

The code comparison shows that both tools allow for creating and interacting with Kubernetes deployments, but vcluster operates within an existing cluster, while Minikube creates a standalone environment. Minikube's approach is more straightforward for local development, while vcluster offers more flexibility for working within existing infrastructure.

32,960

Lightweight Kubernetes

Pros of k3s

  • Lightweight and resource-efficient, suitable for edge computing and IoT devices
  • Includes built-in storage and load balancing solutions
  • Easier to set up and manage for standalone Kubernetes clusters

Cons of k3s

  • Limited flexibility in terms of customization compared to vcluster
  • May not be ideal for creating multiple virtual clusters within a single host cluster
  • Less suitable for development and testing environments that require isolation

Code Comparison

k3s installation:

curl -sfL https://get.k3s.io | sh -

vcluster creation:

vcluster create my-vcluster

Key Differences

  • k3s is a lightweight Kubernetes distribution, while vcluster creates virtual clusters within existing Kubernetes clusters
  • k3s is better suited for production environments, especially in resource-constrained scenarios
  • vcluster excels in creating isolated development and testing environments within a shared cluster

Use Cases

  • k3s: Edge computing, IoT devices, small-scale production deployments
  • vcluster: Development environments, testing, multi-tenancy scenarios in shared clusters

Community and Ecosystem

  • k3s has a larger community and ecosystem, being part of the CNCF landscape
  • vcluster is gaining traction for its unique approach to virtual Kubernetes clusters
15,366

Kubernetes IN Docker - local clusters for testing Kubernetes

Pros of kind

  • Creates a full, isolated Kubernetes cluster, ideal for testing and development
  • Supports multi-node clusters, allowing for more realistic testing scenarios
  • Integrates well with CI/CD pipelines and automated testing frameworks

Cons of kind

  • Requires more system resources due to running full nodes
  • Slower to start up compared to lightweight alternatives
  • Limited flexibility in customizing the underlying host environment

Code Comparison

kind:

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker

vcluster:

apiVersion: v1
kind: ConfigMap
metadata:
  name: my-vcluster-config
data:
  values.yaml: |
    sync:
      nodes:
        enabled: true

Key Differences

vcluster creates virtual clusters within an existing Kubernetes cluster, while kind creates standalone clusters using Docker containers. vcluster is more lightweight and faster to start, but kind provides a more isolated and complete cluster environment. vcluster allows for easier integration with existing cluster resources, while kind offers better isolation for testing purposes.

Both tools serve different use cases and can be valuable in different scenarios. kind is better suited for full cluster testing and CI/CD pipelines, while vcluster excels in multi-tenancy scenarios and rapid development environments within existing clusters.

10,144

Backup and migrate Kubernetes applications and their persistent volumes

Error generating comparison

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

vCluster

Tenant Clusters for Production Kubernetes and AI Infrastructure

Virtual control planes, real isolation — from a single node to 100K-GPU superclusters.

GitHub stars Slack LinkedIn X

Website • Quickstart • Documentation • Blog • Slack


Certified Kubernetes — Distribution      Kubernetes AI Conformant

CNCF Certified Kubernetes — Distribution · Kubernetes AI Conformant (v1.35)


What is vCluster?

vCluster creates Tenant Clusters — fully isolated Kubernetes environments that run on top of a Control Plane Cluster, on dedicated infrastructure, or standalone on bare metal. Each tenant gets its own API server, CRDs, and RBAC, with a cluster experience indistinguishable from a dedicated Kubernetes cluster.

Built for production. Trusted in production. 40M+ Tenant Clusters deployed by teams at Adobe, CoreWeave, NVIDIA, Lintasarta, Atlan, Deloitte, and hundreds of AI clouds, AI factories, and Fortune 500 platform organizations.

CNCF Certified Kubernetes — Distribution and Kubernetes AI Conformant (v1.35) — every Tenant Cluster is upstream Kubernetes with no vendor lock‑in, validated for portable AI/ML workloads (training, inference, agentic).

The public-cloud experience, on your own infrastructure. Give every team the Kubernetes they need — with strict isolation, hardware-aware scheduling, and zero tenant sprawl — whether you run one region or 100K GPUs.

vCluster demo — create a Tenant Cluster locally with vind, in seconds


🚀 Quick Start

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

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

# Use kubectl as usual — you're now in your Tenant Cluster
kubectl get namespaces

Prerequisites: A running Kubernetes cluster and kubectl configured. Or go straight to bare metal with vCluster Standalone.

👉 Full Quickstart Guide

🐳 Run Locally with Docker — vind

No Kubernetes cluster? Run vCluster directly on Docker with vind (vCluster in Docker) — like kind, but with the full vCluster feature set (UI, sleep/resume, LoadBalancer, image cache):

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

🎮 Try in the Browser

Try on Killercoda

🎁 vCluster Free Tier

Real usage, not a gated demo. Unlimited Tenant Clusters up to 64 CPUs / 32 GPUs, Private Nodes, Auto Nodes, Standalone, and the Platform UI — for free. Get Started Free →


🆕 What's New

VersionFeatureDescription
v0.33Enterprise Reliability & StorageAutomatic leaf-cert regeneration, Azure Blob snapshot destinations, workload-level sleep annotations
v0.32Docker Driver & DRARun vCluster on Docker, Dynamic Resource Allocation (DRA) for GPU workloads, in-place pod resizing
v0.31Snapshots & Cross-Cluster APIsExpanded snapshot/restore lifecycle, PDBs for Tenant Cluster control planes, cross-cluster resource proxying
v0.30vCluster VPN & Netris IntegrationTailscale-powered overlay networking and automated hardware isolation via Netris
v0.27–v0.29Architecture FoundationsPrivate Nodes (v0.27, CNI/CSI isolation), Auto Nodes (v0.28, Karpenter autoscaling), Standalone Mode (v0.29, bare metal / no Control Plane Cluster)

👉 Full Changelog


🎯 Use Cases

Use CaseDescriptionLearn More
AI FactoryRun AI on-prem where your data and GPUs live. Give every team the GPU access they need without multiplying infrastructure.View →
AI Cloud ProvidersLaunch a hyperscaler-like Kubernetes experience for your GPU customers. Isolated, production-grade, in minutes.View →
Internal GPU PlatformMaximize GPU utilization without sacrificing isolation. Self-service Kubernetes for AI/ML teams.View →
Bare Metal KubernetesRun production Kubernetes on bare metal with zero VMs. Isolation without expensive virtualization overhead.View →
Software VendorsShip Kubernetes-native products. Each customer gets their own isolated Tenant Cluster.View →
Environments & Cost SavingsConsolidate clusters, pause idle workloads with sleep mode, and cut Kubernetes cost at scale.View →

🏗️ Architectures

vCluster supports multiple deployment architectures. Each builds on the previous, offering progressively stronger isolation — from dense shared infrastructure to fully standalone bare metal.

Architecture Comparison

Shared NodesDedicated NodesPrivate NodesStandalone
Control Plane ClusterRequiredRequiredRequiredNot Required
Node Isolation❌✅✅✅
CNI/CSI Isolation❌❌✅✅
Bare Metal Ready——✅✅
Best ForDev/test, densityProduction tenantsCompliance, GPUAI 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. Complete workload isolation from the Control Plane Cluster.
Private Nodes Architecture
privateNodes:
  enabled: true
controlPlane:
  service:
    spec:
      type: NodePort
🔹 vCluster Standalone v0.29+ — No Control Plane Cluster required Run vCluster without any Control Plane Cluster. Deploy the Virtual Control Plane directly on bare metal or VMs. The highest level of isolation — vCluster becomes the cluster.
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.
Auto Nodes Architecture
autoNodes:
  enabled: true
  nodeProvider: <provider>
privateNodes:
  enabled: true

✨ Key Features

FeatureDescription
🎛️ Isolated Virtual Control PlaneEach Tenant Cluster gets its own API server, controller manager, and data store — complete Kubernetes API isolation
🔗 Shared Platform StackLeverage the Control Plane Cluster's CNI, CSI, ingress, and other infrastructure — no duplicate platform components
🔒 Strong Tenant IsolationTenants get admin access inside their Tenant Cluster while having minimal permissions on the Control Plane Cluster
🔄 Resource SyncingBidirectional sync of any Kubernetes resource — pods, services, secrets, configmaps, CRDs, and more
💤 Sleep ModePause inactive Tenant Clusters to save resources. Instant wake when needed
🖥️ Bare Metal & StandaloneRun with or without a Control Plane Cluster. Purpose-built for AI factories and on-prem GPU fleets
🧩 IntegrationsNative support for cert-manager, external-secrets, KubeVirt, Istio, and metrics-server
📊 High AvailabilityMultiple replicas with leader election. Embedded etcd or external databases (PostgreSQL, MySQL, RDS)

🌐 The vCluster Platform

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

ProductWhat it does
vClusterTenant Clusters — Virtual Control Planes with API, data, and (optionally) network isolation
vNodeRuntime-level tenant isolation. Kernel-enforced boundaries (seccomp, cgroups, namespaces, AppArmor) without VM overhead
vMetalZero-touch bare metal provisioning for GPU fleets. Turns GPU racks into a cloud platform
Netris (integration)Hardware-enforced network isolation via programmatic VLANs, VRFs, and ACLs

Together these deliver the four layers of an AI factory: Certified Stacks → Tenant Isolation → Tenant Clusters → GPU Infrastructure Operations — the same pattern used to run production AI on hundreds of GPU clouds and Fortune 500 on-prem platforms.


🏢 Trusted By

Atlan
100 → 1 clusters
Aussie Broadband
99% faster provisioning
CoreWeave
GPU cloud at scale
Lintasarta
170+ Tenant Clusters in prod
Fortune 500 Insurance
70% reduction in Kubernetes cost
Scanmetrix
99% faster deployments
Deloitte
Enterprise K8s platform
Ada
10x Developer Productivity
Trade Connectors
50% reduction in K8s ops cost

Also used by: 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
EventSpeakerTitleLink
KubeCon NA 2025 (Keynote)Lukas GenteleAutoscaling GPU Clusters Anywhere — Hyperscalers, Neoclouds & BaremetalWatch
Platform Engineering Day NA 2025 (Keynote)Saiyam PathakAI-Ready Platforms: Scaling Teams Without Scaling CostsWatch
Rejekts NA 2025Hrittik Roy, Saiyam PathakBeyond the Default Scheduler: Navigating GPU MultiTenancy in AI EraWatch
KubeCon EU 2025Paco Xu, Saiyam PathakA Huge Cluster or Multi-Clusters? Identifying the BottleneckWatch
HashiConf 2025Scott McAllisterGPU sharing done right: Secrets, security, and scaling with Vault and vClusterWatch
FOSDEM 2025Hrittik Roy, Saiyam PathakAccelerating CI Pipelines: Rapid Kubernetes Testing with vClusterWatch
KubeCon India 2024 (Keynote)Saiyam PathakFrom Outage To Observability: Lessons From a Kubernetes MeltdownWatch
CNCF Book Club 2024Marc BoorshteinKubernetes - An Enterprise Guide (vCluster)Watch
KCD NYC 2024Lukas GenteleTenant Autonomy & Isolation In Multi-Tenant Kubernetes ClustersWatch
KubeCon EU 2023Ilia Medvedev, Kostis KapelonisHow We Securely Scaled Multi-Tenancy with VCluster, Crossplane, and Argo CDWatch
KubeCon NA 2022Joseph Sandoval, Dan GarfieldHow Adobe Planned For Scale With Argo CD, Cluster API, And VClusterWatch
KubeCon NA 2022Whitney Lee, Mauricio SalatinoWhat a RUSH! Let's Deploy Straight to Production!Watch
TGI Kubernetes 2022TGITGI Kubernetes 188: vClusterWatch
Mirantis Tech Talks 2022MirantisMulti-tenancy & Isolation using Virtual Clusters (vCluster) in K8sWatch
Solo Webinar 2022Rich Burroughs, Fabian KellerSpeed your Istio development environment with vClusterWatch
KubeCon NA 2021Lukas GenteleBeyond Namespaces: Virtual Clusters are the Future of Multi-TenancyWatch
🎬 Community Voice
ChannelSpeakerTitleLink
TeKanAid 2024TeKanAidGetting Started with vCluster: Build Your IDP with Backstage, Crossplane, and ArgoCDWatch
Rawkode 2021David McKay, Lukas GenteleHands on Introduction to vClusterWatch
Kubesimplify 2021Saiyam Pathak, Lukas GenteleLet's Learn vClusterWatch
TechWorld with Nana 2021NanaBuild your Self-Service Kubernetes Platform with Virtual ClustersWatch
DevOps Toolkit 2021Viktor FarcicHow To Create Virtual Kubernetes ClustersWatch

👉 YouTube Channel • Blog


🤝 Contributing

We welcome contributions! Check out our Contributing Guide to get started.


🔗 Links

ResourceLink
📖 Documentationvcluster.com/docs
💬 Slack Communityslack.loft.sh
🌐 Websitevcluster.com
🐦 X (Twitter)@vcluster
💼 LinkedInvCluster
💬 Chat with ExpertStart Chat

📜 License

vCluster is licensed under the Apache 2.0 License.


© 2026 Loft Labs. All rights reserved.

Made with ❤️ by the vCluster community.

⭐ Star us on GitHub — it helps!