Резервное копирование по расписанию
Используйте Velero, чтобы настраивать резервное копирование кластеров по заданному расписанию в формате cron и восстанавливать кластер на основании этого расписания.
- Создайте кластер Kubernetes актуальной версии, если это еще не сделано.
- Убедитесь, что вы можете подключиться к кластеру с помощью
kubectl. - Установите и настройте Velero, если это еще не сделано.
Создайте расписание резервного копирования для нужного пространства имен:
velero schedule create <НАЗВАНИЕ_РАСПИСАНИЯ> --schedule="0 7 * * *" --include-namespaces <ПРОСТРАНСТВО_ИМЕН>
Здесь:
-
<НАЗВАНИЕ_РАСПИСАНИЯ>— название расписания, по которому вы сможете в дальнейшем найти его в списке расписаний резервного копирования. -
<ПРОСТРАНСТВО_ИМЕН>— пространство имен кластера, для которого нужно настроить расписание. Вы можете указать несколько пространств имен через запятую. Пример такого перечисления:--include-namespaces test_namespace1,test_namespace2,test_namespace3Вы также можете исключить отдельные ресурсы из резервного копирования, даже если они соответствуют пространству имен, указанному при настройке расписания. Примеры такого исключения:
--exclude-resources secrets--exclude-namespaces test_namespace1,test_namespace2,test_namespace3Подробнее в официальной документации Velero.
-
--schedule— параметр, который задает время создания резервных копий в формате cron, например0 7 * * *. Каждый символ отвечает за конкретное значение времени.
В результате работы такого расписания резервные копии будут создаваться ежедневно в 07:00. Название каждой резервной копии будет в формате <НАЗВАНИЕ_РАСПИСАНИЯ>-<TIMESTAMP>, где <TIMESTAMP> — время ее создания. Пример названия: daily-backup-20260318070000.
-
Убедитесь, что созданное расписание появилось в списке расписаний резервного копирования, доступных для выбранного пространства имен:
velero schedule get --namespace <ПРОСТРАНСТВО_ИМЕН> <НАЗВАНИЕ_РАСПИСАНИЯ>Здесь:
<ПРОСТРАНСТВО_ИМЕН>— пространство имен, для которого создано расписание резервного копирования.<НАЗВАНИЕ_РАСПИСАНИЯ>— название расписания.
Пример вывода команды:
NAME STATUS CREATED SCHEDULE BACKUP TTL LAST BACKUP SELECTOR PAUSEDmy-schedule New 2024-11-11 15:35:32 +0600 +06 0 7 * * * 0s n/a <none> false -
Проверьте параметры расписания с помощью команды:
velero schedule describe <НАЗВАНИЕ_РАСПИСАНИЯ>Пример вывода команды:
Name: my_scheduleNamespace: test_namespaceLabels: <none>Annotations: <none>Phase: NewPaused: false
Выполните восстановление из резервной копии, которая была создана по указанному расписанию.
velero restore create --namespace <ПРОСТРАНСТВО_ИМЕН> --from-schedule <НАЗВАНИЕ_РАСПИСАНИЯ>
Работающий кластер тарифицируется и потребляет вычислительные ресурсы. Если инструмент Velero и ресурсы Kubernetes, созданные для проверки резервного копирования с его помощью, вам больше не нужны, удалите их:
-
Удалите ресурс
restore:kubectl -n velero delete restorevelero restore delete -
Удалите Velero:
velero uninstall -
Удалите резервные копии из бакета, который использовался Velero.
При необходимости также удалите сам бакет.
-
Остановите созданный кластер, чтобы воспользоваться им позже, или удалите его навсегда.