
projectsveltos/addon-controllerSveltos 是一款 Kubernetes 插件控制器,旨在简化跨多个集群的插件(add-ons)及应用的部署与管理。它运行于管理集群中,能够以编程方式在集群 fleet(包括管理集群本身)内部署和管理插件及应用。Sveltos 支持多种插件格式,包括 Helm 图表、原始 YAML、Kustomize、Carvel ytt 及 Jsonnet,为跨集群插件管理提供灵活统一的解决方案。
Sveltos 允许将插件和应用表示为模板,在部署到被管集群前实例化这些模板。模板实例化所需的信息可从管理集群或被管集群本身收集,支持在统一配置基础上根据集群特性进行微调(如不同的插件配置值),实现插件定义的复用,大幅减少多集群管理的重复工作。
Sveltos 提供事件驱动框架,支持根据特定事件(如集群加入、配置变更等)动态部署插件和应用,实现基于集群状态变化的自适应部署。
Sveltos 适用于需要管理大量 Kubernetes 集群的场景,尤其适合以下需求:
在管理集群中部署 Sveltos 控制器
Sveltos 需部署在 Kubernetes 管理集群中,通过容器化方式运行。可使用 Docker 或 Kubernetes 原生部署方式(如 Deployment):
bash# 示例 Docker 运行命令(假设管理集群配置通过环境变量或挂载 KUBECONFIG 提供) docker run -d --name sveltos-controller \ -v $HOME/.kube/config:/root/.kube/config \ projectsveltos/sveltos-controller:latest
定义插件部署策略
通过创建 ClusterProfile 自定义资源定义插件部署配置,示例:
yamlapiVersion: config.projectsveltos.io/v1alpha1 kind: ClusterProfile metadata: name: monitoring-profile spec: clusterSelector: env=production # 选择目标集群 policyRefs: - name: prometheus-helm # Helm 图表插件 namespace: default kind: HelmChart - name: grafana-yaml # 原始 YAML 插件 namespace: default kind: ConfigMap
配置部署依赖与顺序
在 ClusterProfile 中通过 dependsOn 字段声明依赖关系,确保依赖插件就绪后再部署当前插件:
yamlspec: dependsOn: - name: networking-profile # 依赖网络插件的 ClusterProfile namespace: default
通过上述配置,Sveltos 可自动在匹配标签的集群中部署插件,并根据依赖关系和定义顺序确保部署可靠性。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务