Platform Administrators, Multicloud and Add-ons
What is Sveltos?
Sveltos is a set of Kubernetes controllers that run in the management cluster. From the management cluster, Sveltos can manage add-ons and applications on a fleet of managed Kubernetes clusters.
Sveltos comes with support to automatically discover ClusterAPI powered clusters, but it doesn't stop there. You can easily register any other cluster (on-prem, Cloud) and manage Kubernetes add-ons seamlessly.
Platform Administrators and Multicloud Environment
In today's fast-paced and ever-evolving IT landscape, where the multicloud concept is becoming increasingly popular, automating the creation of Kubernetes clusters and managing their lifecycle programmatically is a crucial task for Kubernetes platform administrators.
The cluster creation is one aspect that various open-source solutions exist to assist, but managing Kubernetes add-ons and deployments across numerous clusters presents its own challenges. In such scenarios, a central management cluster for observability and control is incredibly useful. Sveltos is an open-source project to programmatically deploy Kubernetes add-ons in a great number of Kubernetes clusters (on-prem, Cloud).
Central Kubernetes Management Cluster
What are the benefits of a central Kubernetes management cluster to manage other clusters?
-
Centralised Management: A cluster management cluster allows administrators to manage multiple clusters from a single place, making it easier to maintain consistency and reduce the risk of configuration issues.
-
Consistency: It allows administrators to automate processes to ensure consistent configurations and deployments across clusters, reducing the risk of errors and enhancing reliability.
-
Scalability: It can assist organisations to scale their infrastructure by easing the creation, deployment, and management of multiple clusters.
-
Cost Optimisation: Centralising control enables efficient resource usage and reduces operational costs associated with managing Kubernetes clusters.
-
Better Security: A cluster management cluster can be configured with security-related add-ons, such as network policies and secrets management, to ensure all managed clusters are securely deployed.
-
Increased Automation: It can be integrated with a continuous integration/continuous deployment (CI/CD) pipeline, making it easier to automate the deployment of new clusters and add-ons, and reducing the time and effort involved in managing the infrastructure.
Sveltos add-on Managament Solution
Sveltos allows platform administrators to utilise the CRD with the name ClusterProfile
to perform Kubernetes add-on deployment. Within a Sveltos ClusterProfile, we define the below points.
- What Kubernetes add-ons to get deployed (Helm charts, Kustomize, YAML/JSON manifests)?
- Where should they get deployed?
- List the add-ons deployed
Example - ClusterProfile
---
apiVersion: config.projectsveltos.io/v1beta1
kind: ClusterProfile
metadata:
name: deploy-kyverno
spec:
clusterSelector:
matchLabels:
env: prod
syncMode: Continuous
helmCharts:
- repositoryURL: https://kyverno.github.io/kyverno/
repositoryName: kyverno
chartName: kyverno/kyverno
chartVersion: v3.0.1
releaseName: kyverno-latest
releaseNamespace: kyverno
helmChartAction: Install
policyRefs:
- name: disallow-latest-tag # (1)
namespace: default
kind: ConfigMap
- Reference a ConfigMap that contains a Kyverno ClusterPolicy
The above YAML definition will install Kyverno and once the deployment is Ready, a Kyverno policy will get deployed to the cluster matching the Sveltos label selector env=prod
.
Additionally, Sveltos offers the ability of the configuration drift detection. Platform administrators do not have to worry about the managed clusters' state. Sveltos monitors the state and when it detects a configuration drift, it will re-sync the cluster state back to the original state described in the management cluster.
More Resources
For more information about the Sveltos add-on deployment capabilities, have a look here.