Skip to content

Horizontal Scaling

Introduction to Sharding

When Sveltos is managing hundreds of managed clusters and thousands of applications, it is advisable to adopt a sharding strategy to distribute the load across multiple Sveltos controllers instances.

Sveltos has a controller running in the management cluster, called the shard controller, which watches for cluster annotations. When it detects a new cluster shard, the shard controller deploys automatically a new set of Projectsveltos controllers to manage that shard.

To update the sharding policy, add the annotation sharding.projectsveltos.io/key to the managed clusters.

Event driven add-ons deployment in action

Sharding Benefits

The benefits of using a sharding strategy include:

  1. Improved performance: By distributing the load across multiple instances of Sveltos controllers, sharding can improve the performance of Sveltos.
  2. Increased scalability: Sharding allows Sveltos to manage a larger number of managed clusters and applications.
  3. Reduced risk: If one instance of a Sveltos controller fails, the other instances can continue to manage the applications in their respective cluster shards.