How to: Minimal Configuration
🔹 Shared Nodes — Maximum density, minimum cost
Virtual clusters share the host cluster's nodes. Workloads run as regular pods in a namespace.
```yaml
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.
```yaml
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.
```yaml
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.
```yaml
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.
```yaml
autoNodes:
  enabled: true
  nodeProvider:
privateNodes:
  enabled: true
```
---