vCluster (vind) Management
Manage virtual Kubernetes clusters using kubectl-mcp-server's vind tools (14 tools).
vCluster enables running fully functional Kubernetes clusters as lightweight workloads inside a host cluster, combining multi-tenancy with strong isolation.
When to Apply
Use this skill when:
-
User mentions: "vCluster", "vind", "virtual cluster", "lightweight cluster"
-
Operations: creating dev environments, multi-tenant isolation, ephemeral clusters
-
Keywords: "virtual Kubernetes", "dev cluster", "pause cluster", "tenant isolation"
Priority Rules
Priority Rule Impact Tools
1 Detect vCluster CLI first CRITICAL vind_detect_tool
2 Check cluster status before operations HIGH vind_status_tool
3 Connect before kubectl operations HIGH vind_connect_tool
4 Pause unused clusters to save resources MEDIUM vind_pause_tool
Quick Reference
Task Tool Example
Detect vCluster vind_detect_tool
vind_detect_tool()
List clusters vind_list_clusters_tool
vind_list_clusters_tool()
Create cluster vind_create_cluster_tool
vind_create_cluster_tool(name)
Connect to cluster vind_connect_tool
vind_connect_tool(name)
Prerequisites
- vCluster CLI: Required for all vind tools curl -L -o vcluster "https://github.com/loft-sh/vcluster/releases/latest/download/vcluster-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m)" chmod +x vcluster && sudo mv vcluster /usr/local/bin/
Check Installation
vind_detect_tool()
List Clusters
vind_list_clusters_tool()
Get Cluster Status
vind_status_tool(name="my-vcluster", namespace="vcluster")
Get Kubeconfig
vind_get_kubeconfig_tool(name="my-vcluster", namespace="vcluster")
View Logs
vind_logs_tool(name="my-vcluster", namespace="vcluster", tail=100)
Cluster Lifecycle
Create Cluster
vind_create_cluster_tool(name="dev-cluster")
vind_create_cluster_tool( name="dev-cluster", namespace="dev", kubernetes_version="v1.29.0", connect=True )
vind_create_cluster_tool( name="custom-cluster", set_values="sync.toHost.pods.enabled=true,sync.toHost.services.enabled=true" )
Delete Cluster
vind_delete_cluster_tool(name="dev-cluster")
vind_delete_cluster_tool( name="dev-cluster", namespace="dev", delete_namespace=True )
Pause Cluster (Save Resources)
vind_pause_tool(name="dev-cluster")
Resume Cluster
vind_resume_tool(name="dev-cluster")
Connect/Disconnect
Connect to Cluster
vind_connect_tool(name="dev-cluster")
vind_connect_tool( name="dev-cluster", namespace="dev", kube_config="~/.kube/vcluster-config" )
Disconnect from Cluster
vind_disconnect_tool()
Upgrade Cluster
vind_upgrade_tool( name="dev-cluster", kubernetes_version="v1.30.0" )
vind_upgrade_tool( name="dev-cluster", values_file="new-values.yaml" )
Describe Cluster
vind_describe_tool(name="dev-cluster")
Platform UI
vind_platform_start_tool()
vind_platform_start_tool(host="0.0.0.0", port=9898)
Development Workflow
Quick Dev Environment
vind_create_cluster_tool(name="dev", connect=True)
kubectl_apply(manifest=""" apiVersion: apps/v1 kind: Deployment metadata: name: my-app namespace: default spec: replicas: 1 selector: matchLabels: app: my-app template: metadata: labels: app: my-app spec: containers: - name: app image: nginx:alpine """)
Multi-Tenant Setup
vind_create_cluster_tool(name="team-a", namespace="team-a-vcluster") vind_create_cluster_tool(name="team-b", namespace="team-b-vcluster")
vind_list_clusters_tool()
Resource Management
vind_pause_tool(name="dev")
vind_resume_tool(name="dev")
Docker-Specific Configuration
For vCluster in Docker (vind) deployments, use --set values:
vind_create_cluster_tool( name="docker-cluster", set_values="experimental.docker.network=my-network,experimental.docker.ports[0].containerPort=80" )
Troubleshooting
Cluster Not Starting
- vind_detect_tool()
- vind_logs_tool(name="my-cluster", tail=200)
- vind_status_tool(name="my-cluster")
Connection Issues
- vind_disconnect_tool()
- vind_connect_tool(name="my-cluster")
- vind_get_kubeconfig_tool(name="my-cluster")
Resource Issues
- vind_pause_tool(name="unused-cluster")
- vind_delete_cluster_tool(name="old-cluster", delete_namespace=True)
CLI Installation
Install vCluster CLI:
curl -L -o vcluster "https://github.com/loft-sh/vcluster/releases/latest/download/vcluster-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m)" chmod +x vcluster sudo mv vcluster /usr/local/bin/
vcluster version
Related Skills
-
k8s-multicluster - Multi-cluster management
-
k8s-helm - Helm chart operations
-
k8s-operations - kubectl operations