Создание бэкапов
Предварительные требования
- Подключено S3-хранилище.
- Установлен и работает модуль резервного копирования и восстановления (shturval-backup) — режим Авто, см. обзор сервисов.
Ресурс Backup (разовый бэкап)
Имя, TTL, хранилище, лейблы бэкапа и селектор объектов (неймспейсы, типы ресурсов, лейблы) задают объём данных. Селектор в форме интерфейса работает по принципу «И»: в бэкап попадают выбранные объекты кластера/неймспейсов и объекты с выбранными лейблами или выражениями.
Для сложной конфигурации бэкапа рекомендуется использовать YAML-манифест. Загрузить его в графический интерфейс можно через импорт манифестов.
В графическом интерфейсе кластера или неймспейса
| Действие | Путь |
|---|---|
| Разовый бэкап | Резервное копирование и восстановление → Резервные копии → Добавить резервную копию |
| Планировщик | Резервное копирование и восстановление → Планировщики → Добавить планировщик |
Скриншоты — иллюстрация





Параметры
| Параметр | Описание |
|---|---|
| Имя | Обязательно: строчные латинские буквы и цифры, начинается с буквы. После создания не меняется. |
| TTL | Время жизни бэкапа в хранилище. |
| Хранилище | Выбранный BackupStorageLocation. |
| defaultVolumesToFsBackup | Резервное копирование томов через файловую систему пода (по умолчанию включено). Для полного бэкапа кластера с PV рекомендуется отключить, чтобы снизить риск ошибок при восстановлении (см. справочник). |
| Селектор | Включающие или исключающие списки неймспейсов и ресурсов. |
| Лейблы бэкапа | Метки, проставляемые на создаваемый объект Backup. |
Неймспейс velero исключается автоматически — его восстановление приводит к ошибке.
Зависимые объекты: при выборе PVC в неймспейсные ресурсы в бэкап попадает связанный PV.
Автоисключение CSI-снапшотов: при обработке Backup контроллер Velero (начиная с v1.17.0, в платформе — с 2.13.1) автоматически добавляет в исключения volumesnapshots.snapshot.storage.k8s.io и volumesnapshotcontents.snapshot.storage.k8s.io, даже если в конфигурации в интерфейсе они не задавались. Подробности — Автоматическое исключение промежуточных CSI-ресурсов.
Исключение объекта по лейблу (Velero)
Отдельный объект можно исключить из бэкапа лейблом velero.io/exclude-from-backup=true (применимо, если объект попадает под общий селектор). Подробности и пример команды — Backup Reference (v1.17).
Статус и манифест
Статус выполнения отображается в ресурсе Backup. YAML доступен как манифест того же ресурса. Удалить запись о бэкапе в кластере можно со страницы списка бэкапов, со страницы просмотра бэкапа или удалив объект на вкладке манифеста.
Удаление только CR Backup через kubectl delete backup не удаляет данные из объектного хранилища; полное удаление данных — через velero backup delete <имя> (Backup Reference (v1.17)).
После правок манифеста бэкапа или планировщика в интерфейсе нажмите Проверить; при ошибке формата манифеста проверка недоступна.
Пример: Backup (YAML)
Имя в spec.storageLocation должно совпадать с именем подключённого хранилища (BackupStorageLocation).
apiVersion: velero.io/v1
kind: Backup
metadata:
name: backup-my-namespace
namespace: velero
spec:
storageLocation: default
ttl: 720h
includedNamespaces:
- my-app
defaultVolumesToFsBackup: false
Импорт: Импорт манифестов.
Ресурс Schedule (планировщик)
Планировщик создаёт бэкапы по расписанию в формате cron. Набор полей (TTL, хранилище, defaultVolumesToFsBackup, лейблы, селектор) совпадает с разовым бэкапом; правила автоисключения CSI-снапшотов и зависимых объектов те же (см. выше). Изменения в сохранённом планировщике применяются к новым бэкапам, уже созданные не пересобираются.
Для сложной конфигурации планировщика рекомендуется использовать YAML-манифест. Загрузить его в графический интерфейс можно через импорт манифестов.
Пример: Schedule (YAML)
apiVersion: velero.io/v1
kind: Schedule
metadata:
name: daily-my-app
namespace: velero
spec:
schedule: "0 3 * * *"
template:
ttl: 168h
storageLocation: default
includedNamespaces:
- my-app
defaultVolumesToFsBackup: false
При сбоях см. Траблшутинг.