Sveltos Classifier dynamically classify a cluster based on run time information (Kubernetes version, deployed resources and more)
APACHE-2.0 License
Bot releases are hidden (Show)
Published by gianlucam76 12 months ago
🚀 Features:
Introducing cluster sharding: when Sveltos is managing hundreds of clusters, it is advised to use cluster sharding to spread the load between multiple instances of Sveltos controllers. To enable horizontal scaling, add annotation on cluster sharding.projectsveltos.io/key
.
The Sveltos shard-controller
will detect new cluster shards and start new set of Sveltos controllers to handle all clusters in a given shard.
Published by gianlucam76 about 1 year ago
🚀 Features:
sveltos-agent
and drift-detection-manager
) in the management cluster. Default behaviour is to start those agents in each managed clusterKubeconfigName
which allows overriding the default sveltos convention which expected a valid kubeconfig to be hosted in a secret with the pattern ${sveltosClusterName}-sveltos-kubeconfig.
Published by gianlucam76 about 1 year ago
🚀 Features:
Rolling Update Strategy for ClusterProfile
A ClusterProfile might match more than one cluster. When adding or modifying a ClusterProfile, it is helpful to:
This pull request introduces two new ClusterProfile Spec fields:
MaxUpdate
: Indicates the maximum number of clusters that can be updated concurrently.
Value can be an absolute number (e.g., 5) or a percentage of desired pods (e.g., 10%). Defaults to 100%.
ValidateHealths
: A slice of health validation expressed using the Lua language.
Benefits of a Rolling Update Strategy
A rolling update strategy allows you to update your clusters gradually, minimizing downtime and risk.
By updating a few clusters at a time, you can identify and resolve any issues before rolling out the
update to all of your clusters. Additionally, you can use the ValidateHealths field to ensure that
your clusters are healthy before declaring the update successful.
How to Use the Rolling Update Strategy
To use the rolling update strategy, simply set the MaxUpdate field in your ClusterProfile Spec to
the desired number of clusters to update concurrently.
You can also use the ValidateHealths field to specify any health validation checks that you want to perform.
For example, the following ClusterProfile Spec would update a maximum of 30% of matching clusters concurrently
and would check that the number of active replicas is greater than zero before declaring the update successful:
apiVersion: config.projectsveltos.io/v1alpha1
kind: ClusterProfile
metadata:
name: kyverno
spec:
clusterSelector: env=fv
syncMode: Continuous
maxUpdate: 30%
helmCharts:
- repositoryURL: https://kyverno.github.io/kyverno/
repositoryName: kyverno
chartName: kyverno/kyverno
chartVersion: v3.0.1
releaseName: kyverno-latest
releaseNamespace: kyverno
helmChartAction: Install
values: |
admissionController:
replicas: 1
validateHealths:
- name: deployment-health
featureID: Helm
group: "apps"
version: "v1"
kind: "Deployment"
namespace: kyverno
script: |
function evaluate()
hs = {}
hs.healthy = false
hs.message = "available replicas not matching requested replicas"
if obj.status ~= nil then
if obj.status.availableReplicas ~= nil then
if obj.status.availableReplicas == obj.spec.replicas then
hs.healthy = true
end
end
end
return hs
end
🐛 Bug Fixed:
Leftover ClusterConfigurations and ClusterSummaries after CAPI cluster deletion (more details https://github.com/projectsveltos/addon-controller/issues/325)
Published by gianlucam76 about 1 year ago
🚀 Features:
Projectsveltos can now manage also the management cluster.
Management cluster can be registered to be managed by Sveltos either as any other cluster or using sveltosctl register mgmt-cluster
Published by gianlucam76 about 1 year ago
🚀 Features:
🐛 Bug Fixed:
Published by gianlucam76 about 1 year ago
🐛 Bug Fixed:
Published by gianlucam76 about 1 year ago
🚀 Features:
🐛 Bug Fixed:
Published by gianlucam76 about 1 year ago
🚀 Features:
🐛 Bug Fixed:
Published by gianlucam76 about 1 year ago
🚀 Features:
🐛 Bug Fixed:
Published by gianlucam76 over 1 year ago
🚀 Features
+-------------------------------------+--------------------------+----------------+-------------------------+----------------------------+
| CLUSTER | GVK | NAMESPACE | NAME | MESSAGE |
+-------------------------------------+--------------------------+----------------+-------------------------+----------------------------+
| default/sveltos-management-workload | apps/v1, Kind=Deployment | kube-system | calico-kube-controllers | All replicas 1 are healthy |
| | | kube-system | coredns | All replicas 2 are healthy |
| | | projectsveltos | sveltos-agent-manager | All replicas 1 are healthy |
+-------------------------------------+--------------------------+----------------+-------------------------+----------------------------+
Published by gianlucam76 over 1 year ago
🚀 Features
👌 Kubernetes version support
⚠️ Breaking changes
Published by gianlucam76 over 1 year ago
Introduce Kubernetes add-on constraint. If any constraint is defined for a cluster, add-ons must satisfy all constrains otherwise add-ons won't be deployed.
Published by gianlucam76 over 1 year ago
Published by gianlucam76 over 1 year ago
Fixes for add-on-manager:
Published by gianlucam76 over 1 year ago
Add kustomize support.
ClusterProfile KustomizationRefs field can point to:
Published by gianlucam76 over 1 year ago
Change add-on manager behavior with respect to template. Use option missingkey=error to force all values to be present at time of instantiation.from management cluster and make it available for templates
Published by gianlucam76 over 1 year ago
🚀 Features
Published by gianlucam76 over 1 year ago
🚀 Features