Troubleshooting vCluster Standalone Control Plane Nodes
Bringing up a Kubernetes cluster can face challenges, so here are some troubleshooting tips to help get you started.
Check vCluster logs​
All vCluster logs are located in the control plane, view service logs using journalctl.
journalctl -u vcluster.service --since="2 minutes ago" -f
Common Issues​
Network connectivity​
Ensure ports 6443 (API Server) and other required ports are accessible
SystemD service​
The vCluster service needs to be running at all times.
systemctl status vcluster.service
Node join failures​
Check that join tokens haven't expired and network connectivity exists between nodes.
When running the join node script, if a 400 status code is received, check the URL directly to see if an error message exists. Alternatively you can pipe the entire response to the terminal and print it:
curl -sSLk "https://<endpoint>/node/join?token=<token>" | { response=$(cat); echo "$response" | sh - 2>/dev/null || echo "Error: $response"; }
Resource constraints​
Ensure adequate CPU, memory, and disk space on nodes.
Unsupported configuration options​
Other vCluster feature limitations​
Certain vCluster features are automatically disabled or unavailable. If you include these options in your vcluster.yaml, they are ignored or might cause configuration errors.
The following features are not available:
sync.*- No resource syncing between tenant and control plane clustersintegrations.*- Integrations depend on syncing functionalitynetworking.replicateServices- Services are not replicated to hostcontrolPlane.coredns.embedded: true- Embedded CoreDNS conflicts with custom CNIcontrolPlane.distro.k8s.scheduler.enabled: false- Virtual scheduler cannot be disabledsleep.*- No ability to use auto sleep for workloads or control plane
# These configurations are NOT supported with private nodes
# Resource syncing between tenant and control plane clusters is disabled
sync:
toHost:
services:
enabled: false # Services cannot be synced to the control plane cluster
secrets:
enabled: false # Secrets cannot be synced to the control plane cluster
# All other sync options (pods, configmaps, etc.) are also disabled
# Platform integrations require syncing functionality
integrations:
metricsServer:
enabled: false # Metrics server integration not supported
# All other integrations are disabled due to sync dependency
controlPlane:
# DNS configuration limitations
coredns:
embedded: false # Embedded CoreDNS conflicts with custom CNI options
distro:
k8s:
# Virtual scheduler is required for workload placement
scheduler:
enabled: true # Always enabled (cannot be disabled)
# Host Path Mapper is not supported
hostPathMapper:
enabled: false
# Service replication (networking.replicateServices) and sleep mode
# (sleep.*) are also unavailable; see the list above.