Создание бэкапов

Предварительные требования

  1. Подключено S3-хранилище.
  2. Установлен и работает модуль резервного копирования и восстановления (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

При сбоях см. Траблшутинг.