Sveltos Kubernetes Add-on Controller - Simplify Add-on Management in Kubernetes
Are you struggling to manage Kubernetes add-ons across multiple clusters on different cloud providers or infrastructures? You're not alone! But we have great news - Sveltos is here to help.
Sveltos is a lightweight application designed to manage hundreds of clusters effortlessly. Sveltos Kubernetes add-on controller simplifies the deployment and management of add-ons in Kubernetes clusters. With Sveltos controller, you can easily automate the deployment process and ensure consistency across your cluster environment. Plus, Sveltos provides platform admins with a solution for multi-tenancy, making it even easier to manage permissions for tenant admins.
But that's not all! Sveltos not only helps you scale the number of clusters you can manage, but it also provides visibility into exactly which add-ons are installed on each cluster. So you can stay on top of your cluster management game and never miss a beat.
Say goodbye to the headache of managing Kubernetes add-ons across multiple clusters and hello to Sveltos - your new best friend in cluster management!
Add-on Distribution
- Deploy add-ons across multiple clusters
- Support for Helm charts, Kustomize, YAML, Carvel ytt and Jsonnet
- Deploy Kubernetes Resources in a Controlled and Orderly Manner
- Configurable deployment strategies
- Automatic rollbacks
Templates
- Create templates to express add-ons
- Use templates to instantiate add-ons from management cluster values
Addon Compliances
- Define custom add-on compliances
- Enforce compliances when deploying add-ons
Event Driven Framework
- Deploy add-ons in response to events
- Define events in Lua scripts
- Configure framework for cross-cluster configuration
Other Features
- Centralised Resource Display for Multiple Kubernetes Clusters
- Configuration drift detection
- Dry run
- Notifications
- Kubernetes cluster classification
- Multi-tenancy
- Techsupport
- Snapshot and rollback
Core Concepts
Sveltos is a set of Kubernetes custom resource definitions (CRDs) and controllers to deploy kubernetes add-ons across multiple Kubernetes clusters.
- ClusterProfile CRD is the CRD used to instruct Sveltos on which add-ons to deploy on a set of clusters;
- Sveltos manager is a controller running in the management cluster. It watches for ClusterProfile instances and cluster instances (both CAPI Cluster and SveltosCluster). It orchestrates Kubernetes addon deployments: when a cluster is a match for a ClusterProfile instance, all add-ons listed in the ClusterProfile instance are deployed in the cluster;
- Classifier CRD is the CRD used to instructs Sveltos on how to classify a cluster;
- Classifier is a controller running in the management cluster. Its counterpart, Classifier Agent is a controller running in each managed cluster. Classifier distributes Classifier CRD instances to any managed cluster. Classifier Agent watches for cluster runtime state (kubernetes version and/or resources deployed) and Classifier CRD instances. It reports back to management cluster whether a managed cluster is a match or not for each Classifier instance;
- RoleRequest CRD is the CRD used to allow platform admin to grant permissions to tenant admins;
- Sveltosctl is the Sveltos CLI;
- Techsupport CRD is the CRD used to instruct Sveltos to collect tech support, both logs and resources, from managed clusetrs;
- Snapshot CRD is the CRD used to instruct Sveltos on collecting configuration snapshots;
- SveltosCluster is the CRD used to register a cluster with Sveltos (only non CAPI powered cluster needs to be manually registered with Sveltos);
- Drift detection manager is a controller running in each managed cluster. It watches for Kubernetes resources deployed by ClusterProfiles set in SyncModeContinuousWithDriftDetection mode. Anytime it detects a possible configuration drift, it informs management cluster so that a re-sync happens and the cluster state is brought back to the desidered state expressed in the management cluster;
- ClusterHealthCheck is the CRD used to configure Sveltos to send notifications when certain conditions happen.
😻 Contributing to projectsveltos
We love to hear from our community!
We believe in the power of community and collaboration, and that's where you come in!
We would love to hear your suggestions, contributions, and feedback to make our project even better! Whether you want to report a bug, request a new feature, or just stay up-to-date with the latest news, we've got you covered.
We would love your suggestions, contributions, and help!
- Open a bug/feature enhancement on github
- Chat with us on the Slack in the #projectsveltos channel
- If you prefer to reach out directly, just shoot us an email
We are always thrilled to welcome new members to our community, and your contributions are always appreciated. So don't be shy - join us today and let's make Sveltos the best it can be! ❤️
Support us
If you like the project, please give us a if you haven't done so yet. Your support means a lot to us. Thank you .