You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sveltos is a policy driven approach to manage kubernetes resources and helm charts in ClusterAPI clusters. Sveltos provides declarative APIs to provision new features like Helm charts, ingress controllers, CNIs, storage classes and other resources in a given set of Kubernetes clusters.
10
+
## What it is
11
+
Sveltos is tool for policy driven management of kubernetes resources and helm charts in [ClusterAPI](https://github.com/kubernetes-sigs/cluster-api) powered Kubernetes clusters. Sveltos provides declarative APIs to provision features like Helm charts, ingress controllers, CNIs, storage classes and other resources in a given set of Kubernetes clusters. Sveltos is a freely available and open source. Sveltos is very lightweight and can be installed onto any Kubernetes clusters in minutes.
11
12
12
13
## How it works
13
14
The project follows the Kubernetes [Operator pattern](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) and it uses [Controllers](https://kubernetes.io/docs/concepts/architecture/controller/) which provides a reconcile function responsible for synchronizing resources until the desired state is reached on the cluster.
14
15
15
-
The project requires [ClusterAPI](https://github.com/kubernetes-sigs/cluster-api) to be installed in such cluster.
16
-
17
-
[ClusterAPI](https://github.com/kubernetes-sigs/cluster-api) is a Kubernetes sub-project focused on providing declarative APIs and tooling to simplify provisioning, upgrading, and operating multiple Kubernetes clusters.
16
+
The project requires [ClusterAPI](https://github.com/kubernetes-sigs/cluster-api) to be installed in such cluster. [ClusterAPI](https://github.com/kubernetes-sigs/cluster-api) is a Kubernetes sub-project focused on providing declarative APIs and tooling to simplify provisioning, upgrading, and operating multiple Kubernetes clusters.
18
17
19
18
## Description
20
19

@@ -59,7 +58,11 @@ spec:
59
58
60
59
As soon as a CAPI cluster is a match for above ClusterProfile instance, all referenced features are automatically deployed in such cluster.
61
60
62
-
To see Sveltos in action, have a look at this [video](https://youtu.be/Ai5Mr9haWKM)
61
+
## Sveltos in action
62
+
63
+

64
+
65
+
To see the full demo, have a look at this [youtube video](https://youtu.be/Ai5Mr9haWKM)
63
66
64
67
## Features List
65
68
1. Flexible cluster selection (see [video](https://youtu.be/Ai5Mr9haWKM))
@@ -69,7 +72,7 @@ To see Sveltos in action, have a look at this [video](https://youtu.be/Ai5Mr9haW
69
72
5. Conflict detection
70
73
6. Declaritive API and CLI
71
74
72
-
## Getting Started
75
+
## Test Sveltos on your laptop
73
76
If you want to test it out, just execute, `make create-cluster` and it will:
74
77
1. create a [KIND](https://sigs.k8s.io/kind) cluster;
75
78
2. install ClusterAPI;
@@ -78,7 +81,18 @@ If you want to test it out, just execute, `make create-cluster` and it will:
78
81
5. create a ClusterProfile instance;
79
82
6. modify CAPI Cluster labels so to match ClusterProfile selector.
80
83
81
-
# Understanding how to configure and use the project
84
+
## Install Sveltos
85
+
If you want to install it on local or remote Kubernetes cluster.
86
+
87
+
1. install ClusterAPI. [ClusterAPI instruction](https://cluster-api.sigs.k8s.io/user/quick-start.html) can be followed.
88
+
89
+
2. install the CRD and Deployment in the management cluster applying this YAML file:
The clusterSelector field is a Kubernetes [label selector](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#resources-that-support-set-based-requirements) that matches against labels on CAPI clusters.
@@ -192,7 +206,7 @@ that will cause the Kyverno ClusterPolicy *no-gateway* to be withdrawn from any
192
206
### DryRun
193
207
In a dry-run execution, you can execute a workflow so that the entire flow of the execution (all the operations that are executed in an actual run) is shown, but no actual code is executed and there are no side effects.
194
208
195
-
Some applies here. Sometimes it is useful to see what will happen if a ClusterProfile is added/modified/deleted. So potential changes in matching CAPI clusters can be seen, validated and only then eventually applied.
209
+
Same applies here. Sometimes it is useful to see what will happen if a ClusterProfile is added/modified/deleted. So potential changes in matching CAPI clusters can be seen, validated and only then eventually applied.
196
210
197
211
A ClusterProfile in DryRun mode will make no changes to matching clusters. It will though generate a report indicating, per CAPI Cluster, what those changes would be.
198
212
@@ -373,19 +387,6 @@ Another example of misconfiguration is when two different ClusterProfiles match
373
387
374
388
In such a case, only one ClusterProfile will be elected and given permission to manage a specific helm release in a given CAPI cluster. Other ClusterProfiles will report such misconfiguration.
375
389
376
-
## Getting started on any Kubernetes cluster
377
-
You can use [KIND](https://sigs.k8s.io/kind) to get a local cluster for testing, or run against a remote cluster.
378
-
379
-
First you need to install ClusterAPI in such cluster. [ClusterAPI instruction](https://cluster-api.sigs.k8s.io/user/quick-start.html) can be followed.
380
-
381
-
Second you need to install the CRD and Deployment for the project in the management cluster:
0 commit comments