Sveltos 是一款 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 可自动在匹配标签的集群中部署插件,并根据依赖关系和定义顺序确保部署可靠性。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名