DEV Community

Cover image for Registering a vCluster Kubernetes clusters with Sveltos: A Quick Start Guide
Simone Morellato
Simone Morellato

Posted on

Registering a vCluster Kubernetes clusters with Sveltos: A Quick Start Guide

Modern Kubernetes environments are rarely static. Teams spin up clusters for testing, staging, and production workloads. Sometimes these clusters are physical, sometimes managed by cloud providers, and increasingly, they’re virtual clusters (vClusters).

If you’ve ever wanted to manage multiple clusters—including vClusters with a consistent approach, Sveltos can help. Sveltos is a powerful open-source project that simplifies cluster lifecycle management, configuration drift detection, and workload deployment across fleets of clusters.

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

  1. 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/
Enter fullscreen mode Exit fullscreen mode

This tool will help us generate manifests for cluster registration and interact with Sveltos.

  1. Install Helm (if not already installed) Follow Helm installation docs.

Step 1: Deploy Sveltos

Install Sveltos in the management cluster:

helm upgrade --install sveltos projectsveltos/projectsveltos   --repo https://projectsveltos.github.io/helm-charts   --namespace projectsveltos   --create-namespace
Enter fullscreen mode Exit fullscreen mode

Verify deployment:

helm list -n projectsveltos
kubectl get pods -n projectsveltos
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Disconnect once created:

vcluster disconnect
Enter fullscreen mode Exit fullscreen mode

Step 4: Register vCluster with Sveltos

Here’s where the integration happens.

  1. Generate a SveltosCluster manifest for the vCluster:
sveltosctl register cluster   --namespace=monitoring   --cluster=vcluster   --pullmode   --labels=environment=production,tier=backend   > sveltoscluster_registration.yaml
Enter fullscreen mode Exit fullscreen mode

This creates the YAML that describes your vCluster as a managed entity in Sveltos.

  1. Connect to the vCluster:
vcluster connect my-vcluster --namespace my-team
Enter fullscreen mode Exit fullscreen mode
  1. Apply the registration YAML inside the vCluster:
kubectl apply -f sveltoscluster_registration.yaml
Enter fullscreen mode Exit fullscreen mode

✅ 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)