这个项目能做什么

Sveltos 是一个 Kubernetes 附加组件控制器,运行在管理集群中,并以编程方式在一组集群(包括由 ClusterAPI 驱动的集群和其他已注册的 Kubernetes 集群)中部署和管理附加组件与应用程序。它支持 Helm charts、原始 YAML、Kustomize、Carvel ytt 和 Jsonnet。 主要能力包括: - **Profiles 和 ClusterProfiles**:ClusterProfiles 面向平台管理员,可应用于任意命名空间中的所有集群;Profiles 则按命名空间限定,面向租户管理员,从而提供多租户支持。 - **基于模板的配置**:附加组件和应用程序可以表示为模板,其值可从管理集群或受管集群中收集,从而支持可复用定义并实现按集群变化。 - **部署顺序**:Profile/ClusterProfile 中的附加组件会严格按照其出现顺序部署,并且 ClusterProfiles 可以依赖其他 ClusterProfiles,以确保依赖项在部署前已处于可运行状态。 - **同步模式**:OneTime 用于初始引导,Continuous 用于持续一致性,ContinuousWithDriftDetection 用于检测并自动纠正配置漂移。 - **拉取模式**:受管集群上的轻量级代理会发起出站连接以获取期望状态,适用于气隙网络、边缘部署以及位于防火墙后的集群。 - **事件驱动框架**:允许根据特定事件部署附加组件和应用程序。 Sveltos 提供用于可视化的仪表板,并提供快速开始方式:使用 `make quickstart` 创建一个包含 Sveltos 和 ClusterAPI 的本地 kind 集群。该项目采用 Apache 2.0 许可证,并欢迎贡献。