Sveltos simplifies the deployment of Kubernetes add-ons across clusters, automatically upgrades based on the cluster runtime and provides an event-driven workflow automation framework.
Kubernetes itself is not a complete solution. To build a production cluster, you need various add-ons. If you have multiple clusters to manage, it's not an easy task.
Sveltos is an open source project that provides a declarative API that allows Kubernetes add-ons to be deployed across multiple Kubernetes clusters. Both Helm charts and resource YAML can be passed to Sveltos.
For example, simply publishing the following ClusterProfile instance is sufficient to deploy a Kyverno Helm chart across a set of managed clusters:
Alternatively, if you have the Kubernetes resource YAML , just create a ConfigMap with the data (or Secret if the data is secret) and let Sveltos reference such ConfigMap(Secret) instance.
<code>kubectl create configmap contour-gateway --from-file=<file with contour yaml></file></code>
To make things more complicated, sometimes, the add-ons you need to deploy depend on the cluster runtime state.
For example, you have deployed Calico v3.24 on a set of clusters. When these clusters are upgraded to Kubernetes v1.25, you want Calico to be upgraded to v3.25 as well.
If you are managing dozens of these clusters, manually upgrading Calico when upgrading your Kubernetes version is not ideal. For this, you need an automated solution.
Then simply create the following classifier instance:
The above classifier instance will let Sveltos add it automatically Manage cluster tags:
Because of these tags and the ClusterProfile instance above:
No action is required on your part. As the cluster is upgraded, Sveltos also upgrades Calico.
Things can get more complicated when events in a managed cluster result in the need to deploy add-ons. For example, whenever a service in a namespace is created, add an HTTPRoute to expose such service through the gateway API.
Sveltos Events is an event-driven workflow automation framework for Kubernetes that helps you trigger K8s add-on deployments on various events.
This EventSource defines events as creation/deletion of services in namespace eng, exposing port 443 or port 8443.
When such an event occurs in the managed cluster, we want to deploy an HTTPRoute instance:
As you can see, what is to be deployed is in the ConfigMap defined in and expressed in the form of a template.
ResourcesContains all service instances in each managed cluster that match the EventSource defined above.
The above is the detailed content of Here are the top ten artificial intelligence open source trends in 2023.. For more information, please follow other related articles on the PHP Chinese website!