explaingit

loft-sh/vcluster

11,132GoAudience · ops devopsComplexity · 4/5Setup · hard

TLDR

A tool that creates lightweight virtual Kubernetes clusters inside an existing cluster, giving teams isolated environments at lower cost than running separate full clusters.

Mindmap

mindmap
  root((repo))
    What it does
      Virtual K8s clusters
      Team isolation
      Cost reduction
    Tech stack
      Go
      Kubernetes
      Docker
    Use cases
      Multi-tenant SaaS
      Dev environments
      GPU team isolation
    Deployment modes
      On existing cluster
      Bare metal
      Local Docker
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Give each engineering team their own isolated Kubernetes environment without provisioning separate clusters.

USE CASE 2

Provide each SaaS customer their own dedicated Kubernetes cluster using virtual clusters on shared infrastructure.

USE CASE 3

Replace many development clusters with virtual ones to cut infrastructure costs.

USE CASE 4

Give AI and ML teams isolated GPU access without spinning up separate cluster infrastructure.

Tech stack

GoKubernetesDocker

Getting it running

Difficulty · hard Time to first run · 1h+

Requires an existing Kubernetes cluster or Docker for local use, familiarity with kubectl and Kubernetes concepts is expected.

Open source license, the source is freely available on GitHub, a free tier allows unlimited clusters up to 64 CPUs or 32 GPUs.

In plain English

vCluster is a tool that lets engineering teams create virtual Kubernetes clusters that run inside an existing Kubernetes cluster. Kubernetes is an open-source system for running containerized software at scale, and usually each team or project that needs one gets a separate, full installation of it. vCluster offers an alternative: spin up a lightweight virtual cluster in minutes, and teams get the same experience as a dedicated cluster without the overhead of running an entirely separate one. Each virtual cluster has its own Kubernetes API server, its own permission system, and its own configuration space. From a tenant's point of view, the cluster looks and behaves like a real one. In practice it runs inside a namespace (an isolated section) of a larger parent cluster, sharing the underlying computing resources. This arrangement reduces infrastructure costs compared to maintaining many separate clusters, while still keeping different teams or customers from interfering with each other. The tool supports several deployment modes. Teams can run it on top of an existing cluster, deploy it on bare metal without any parent cluster, or run it locally on Docker for development without a Kubernetes installation at all. A command-line tool handles creation and management: a few commands create a new cluster and connect kubectl (the standard Kubernetes command tool) to it. Common uses include giving AI and machine learning teams isolated access to GPU resources, providing each software customer their own environment, replacing dozens of separate development clusters with virtual ones to save costs, and enabling platform teams to offer self-service Kubernetes to internal users. The project reports over 40 million tenant clusters deployed by organizations including Adobe, NVIDIA, and CoreWeave. vCluster is certified by the Cloud Native Computing Foundation as a conformant Kubernetes distribution. A free tier allows unlimited clusters up to 64 CPUs or 32 GPUs. The source code is available on GitHub under an open-source license.

Copy-paste prompts

Prompt 1
I manage a Kubernetes cluster and want to give each dev team their own isolated environment using vCluster. Walk me through creating a virtual cluster and pointing kubectl at it.
Prompt 2
Explain how a vCluster virtual cluster differs from a Kubernetes namespace, what can each team do independently that they couldn't in a shared namespace?
Prompt 3
I want to use vCluster to give each of my SaaS customers their own Kubernetes environment. What is the recommended architecture for automating cluster creation per customer?
Prompt 4
How do I run vCluster locally on Docker for development without needing a real Kubernetes cluster installed?
Prompt 5
What is the resource overhead of running a vCluster virtual cluster compared to a dedicated cluster, and what are the tradeoffs?
Open on GitHub → Explain another repo

← loft-sh on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.