In this post, we’ll walk through how to set up Sveltos, create a vCluster, and register it with Sveltos. By the end, you’ll have a working setup where you can manage a vCluster just like any other cluster in your fleet.
Prerequisites
-
Install
sveltosctl
CLI
curl -L https://github.com/projectsveltos/sveltosctl/releases/latest/download/sveltosctl-darwin-amd64 -o sveltosctl
chmod +x sveltosctl
sudo mv sveltosctl /usr/local/bin/
This tool will help us generate manifests for cluster registration and interact with Sveltos.
- Install Helm (if not already installed) Follow Helm installation docs.
Step 1: Deploy Sveltos
Install Sveltos in the management cluster:
helm repo update && helm upgrade --install sveltos projectsveltos/projectsveltos --namespace projectsveltos --create-namespace
Verify deployment:
helm list -n projectsveltos
kubectl get pods -n projectsveltos
At this point, Sveltos CRDs and the controller should be active in your cluster.
Step 2: Deploy the Dashboard (Optional)
For visualization and management through UI:
helm install sveltos-dashboard projectsveltos/sveltos-dashboard -n projectsveltos
helm list -n projectsveltos
kubectl port-forward service/dashboard -n projectsveltos 8080:80
Access the dashboard at: http://localhost:8080/login
Create an admin service account and token:
kubectl create sa platform-admin -n default
kubectl create clusterrolebinding platform-admin-access --clusterrole cluster-admin --serviceaccount default:platform-admin
kubectl create token platform-admin -n default --duration=24h
Use the token to log into the dashboard.
Step 3: Create a vCluster
Create a new virtual cluster:
vcluster create my-vcluster --namespace my-team
Disconnect once created:
vcluster disconnect
Step 4: Register vCluster with Sveltos
Here’s where the integration happens.
- Generate a
SveltosCluster
manifest for the vCluster:
sveltosctl register cluster --namespace=monitoring --cluster=vcluster --pullmode --labels=environment=production,tier=backend > sveltoscluster_registration.yaml
This creates the YAML that describes your vCluster as a managed entity in Sveltos.
- Connect to the vCluster:
vcluster connect my-vcluster --namespace my-team
- Apply the registration YAML inside the vCluster:
kubectl apply -f sveltoscluster_registration.yaml
✅ And that’s it! 🎉 Your vCluster is now registered with Sveltos.
What’s Next?
With your vCluster registered, you can now:
- Apply ClusterProfiles to define policies and workloads.
- Use drift detection to ensure your vCluster stays compliant.
- Manage add-ons (like monitoring stacks) consistently across environments.
Instead of treating vClusters as temporary or “disposable,” you’ve elevated them to first-class citizens in your multi-cluster strategy.
Top comments (0)