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.
Sharding Benefits
The benefits of using a sharding strategy include:
- Improved performance: By distributing the load across multiple instances of Sveltos controllers, sharding can improve the performance of Sveltos.
- Increased scalability: Sharding allows Sveltos to manage a larger number of managed clusters and applications.
- Reduced risk: If one instance of a Sveltos controller fails, the other instances can continue to manage the applications in their respective cluster shards.