Sveltos: управление дополнениями в флоте Kubernetes

Sveltos — это контроллер дополнений (add-on controller) для Kubernetes. Он разворачивает и управляет дополнениями и приложениями сразу в множестве кластеров, используя сопоставление по меткам (label-based matching). Sveltos не конкурирует с GitOps-контроллерами вроде ArgoCD или Flux — напротив, он расширяет их возможности. Контроллер работает в управляющем кластере (management cluster) и поддерживает Helm-чарты, чистый YAML/JSON, Kustomize, Carvel ytt и Jsonnet.

Ключевые преимущества

  • Нацеливание на флот по меткам: одна конфигурация обслуживает любое количество кластеров, удовлетворяющих заданным критериям.

  • Гибкое обнаружение дрейфа (drift detection) — с агентом или без: выберите режим, который подходит вашему окружению.

  • Шаблонизация на уровне кластера: одно определение, разные значения для каждого кластера.

  • Событийный фреймворк и поэтапные (progressive) выкатки: безопасная, автоматизированная и адаптируемая доставка изменений.

  • Развёртывание на периферии (Edge Deployments): лёгкие агенты, оптимизированные под ограниченные бюджеты CPU, памяти и пропускной способности сети. Sveltos разворачивает только то, что действительно нужно.

Примечание

«Новый кластер с правильными метками автоматически приводится в желаемое состояние — никаких дополнительных настроек».

Совет

Если проект оказался вам полезен, поставьте ему звезду ⭐️ на GitHub — это помогает большему числу людей узнать о Sveltos!

Возможности

🔄 Упорядоченное развёртывание: разворачивайте ресурсы в заданном порядке с помощью простых Custom Resource Definitions (CRDs). Предсказуемые и управляемые выкатки.

👥 Мультиарендность (Multitenancy): используйте ClusterProfile для политик уровня всего флота и Profile для изоляции арендаторов в рамках пространства имён (namespace).

🧩 Шаблонизация: описывайте дополнения и приложения как шаблоны — Sveltos создаёт конкретные экземпляры для каждого кластера на основе его метаданных.

Событийный фреймворк: запускайте развёртывания по событиям внутри кластера или из NATS, используя логику сопоставления на Lua или CEL.

🛡️ Pull-режим: разворачивайте приложения в изолированных окружениях — air-gapped, периферийных или находящихся за межсетевыми экранами.

🚦 Поэтапные выкатки: поэтапное развёртывание из единой конфигурации без необходимости поддерживать несколько профилей.

📢 Наблюдаемость (Observability): уведомления через Slack, Teams, Discord, Webex, Telegram, SMTP или события Kubernetes.

Конфигурации не привязаны к конкретному кластеру

GitOps-контроллер следит за репозиторием и синхронизирует манифесты. Sveltos берёт эти манифесты и применяет их ко всему флоту. Его конфигурации не ссылаются на конкретный кластер — вместо этого они нацелены на кластеры по меткам. Это означает: когда в флот добавляется новый кластер, никаких изменений в конфигурациях не требуется — достаточно проставить нужные метки.

Дополнительные репозитории проекта

  • addon-controller — основной контроллер дополнений; программно разворачивает дополнения и приложения в десятках кластеров. Поддерживает кластеры на базе ClusterAPI, Helm-чарты, Kustomize и YAML. Имеет встроенную поддержку мультиарендности.

  • projectsveltos — также содержит Kubernetes Job для автоматизации обновления CRD Sveltos в процессе обновления Helm-чарта.

  • website-v2 — официальная документация и лендинг проекта. Здесь можно узнать, как управлять дополнениями и автоматизировать очистку ресурсов в нескольких кластерах Kubernetes.

© 2026 meganuke