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.

10,835
548
10,835
119

Top Related Projects

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

6,209

Little helper to run CNCF's k3s in Docker

31,120

Run Kubernetes locally

31,919

Lightweight Kubernetes

14,731

Kubernetes IN Docker - local clusters for testing Kubernetes

9,586

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,209

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,120

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.

31,919

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
14,731

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.

9,586

Backup and migrate Kubernetes applications and their persistent volumes

Pros of Velero

  • Broader scope: Velero provides comprehensive backup and restore capabilities for entire Kubernetes clusters, including persistent volumes.
  • Mature project: Velero has been around longer and has a larger community, potentially offering more stability and support.
  • Cloud provider integration: Velero supports various cloud providers for storing backups, offering flexibility in deployment scenarios.

Cons of Velero

  • Resource intensive: Velero can be more resource-heavy compared to vcluster, especially when backing up large clusters.
  • Complexity: Setting up and configuring Velero can be more complex, particularly for smaller deployments or simpler use cases.
  • Limited multi-tenancy: While Velero can back up namespaces, it doesn't provide the same level of multi-tenancy isolation as vcluster.

Code Comparison

Velero backup creation:

apiVersion: velero.io/v1
kind: Backup
metadata:
  name: example-backup
spec:
  includedNamespaces:
  - default

vcluster creation:

apiVersion: cluster.loft.sh/v1
kind: VirtualCluster
metadata:
  name: example-vcluster
spec:
  isolation:
    enabled: true

Both projects serve different primary purposes, with Velero focusing on backup and disaster recovery, while vcluster emphasizes creating isolated virtual clusters within a host cluster. The code examples reflect these different focuses, with Velero defining a backup operation and vcluster specifying a virtual cluster configuration.

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

Flexible Tenancy For Kubernetes and AI Infra

GitHub stars Slack LinkedIn X

Website • Quickstart • Documentation • Blog • Slack


What is vCluster?

vCluster creates fully functional virtual Kubernetes clusters that run inside namespaces of a host cluster. Each virtual cluster has its own API server, runs on shared or dedicated infrastructure, and gives you flexible tenancy options—from simple namespaces to fully dedicated clusters.

40M+ virtual clusters deployed by companies like Adobe, CoreWeave, Atlan, and NVIDIA.

vCluster gif


🚀 Quick Start

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

# Create a virtual cluster
vcluster create my-vcluster --namespace team-x

# Use kubectl as usual - you're now in your virtual cluster!
kubectl get namespaces

Prerequisites: A running Kubernetes cluster and kubectl configured.

👉 Full Quickstart Guide

🎮 Try Without Installing

No Kubernetes cluster? Try vCluster instantly in your browser:

Try on Killercoda


🆕 What's New

VersionFeatureDescription
v0.30vCluster VPN & Netris IntegrationTailscale-powered overlay network and automated network isolation for hybrid infrastructures
v0.29Standalone ModeRun vCluster without a host cluster—directly on bare metal or VMs
v0.28Auto NodesKarpenter-powered dynamic autoscaling for private nodes
v0.27Private NodesExternal nodes with full CNI/CSI isolation
v0.26Hybrid Scheduling & Namespace SyncingMultiple scheduler support for AI/ML workloads and fine-grained namespace synchronization

👉 Full Changelog


🎯 Use Cases

Use CaseDescriptionLearn More
GPU Cloud ProvidersLaunch managed K8s for GPUs. Give customers isolated, production-grade Kubernetes fast.View →
Internal GPU PlatformMaximize GPU utilization without sacrificing isolation. Self-service access for AI/ML teams.View →
AI FactoryRun AI on-prem where your data lives. Multi-tenant K8s for training, fine-tuning, inference.View →
Bare Metal K8sRun Kubernetes on bare metal with zero VMs. Isolation without expensive overhead.View →
Software VendorsShip Kubernetes-native software. Each customer gets their own isolated virtual cluster.View →
Cost SavingsCut Kubernetes costs by consolidating clusters. Sleep mode pauses inactive clusters.View →

🏗️ Architectures

vCluster offers multiple deployment architectures. Each builds on the previous, offering progressively more isolation.

Architecture Comparison

Shared NodesDedicated NodesPrivate NodesStandalone
Host ClusterRequiredRequiredRequiredNot Required
Node Isolation❌✅✅✅
CNI/CSI Isolation❌❌✅✅
Best ForDev/test, costProductionCompliance, GPUBare metal, edge

👉 Full Architecture Guide

Minimal Configuration

🔹 Shared Nodes — Maximum density, minimum cost Virtual clusters share the host 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 Virtual clusters get their own set of labeled host nodes. Workloads are isolated but still managed by the host.
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 virtual cluster directly with their own CNI, CSI, and networking stack. Complete workload isolation from the host cluster.
Private Nodes Architecture
privateNodes:
  enabled: true
controlPlane:
  service:
    spec:
      type: NodePort
🔹 vCluster Standalone v0.29+ — No host cluster required Run vCluster without any host cluster. Deploy the 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 Control PlaneEach vCluster gets its own API server, controller manager, and data store—complete Kubernetes API isolation
🔗 Shared Platform StackLeverage the host cluster's CNI, CSI, ingress, and other infrastructure—no duplicate platform components
🔒 Security & Multi-TenancyTenants get admin access inside their vCluster while having minimal permissions on the host cluster
🔄 Resource SyncingBidirectional sync of any Kubernetes resource. Pods, services, secrets, configmaps, CRDs, and more
💤 Sleep ModePause inactive virtual clusters to save resources. Instant wake when needed
🔌 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)

🏢 Trusted By

Atlan
100 → 1 clusters
Aussie Broadband
99% faster provisioning
CoreWeave
GPU cloud at scale
Lintasarta
170+ virtual clusters in prod
Fortune 500 Insurance Company
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, Lintasarta, Precisely, Shipwire, Trade Connectors, and many more.

👉 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!