Velero — это инструмент для резервного копирования, восстановления и переноса данных в Kubernetes. Он позволяет создавать бэкапы и восстанавливать состояние кластеров, а также выполнять миграции между кластерами.
Для работы с Velero необходимо установить Velero CLI на локальную машину и настроить его в вашем кластере Kubernetes.
Предварительные требования
Перед началом установки убедитесь, что выполнены следующие условия:
- Настроен доступ к вашему Kubernetes-кластеру через kubectl. Инструкцию по настройке можно найти здесь.
- Создан S3-бакет для размещения резервных копий. Создать бакет можно по инструкции.
Создадим отдельный неймспейс для Velero:
Создание секрета S3
Для настройки доступа Velero к S3-бакету создадим секрет. Создайте файл манифеста velero-credentials-secret.yaml со следующим содержимым:
Замените S3_Access_Key и S3_Secret_Access_Key на свои ключи доступа к S3.

Примените манифест:
Проверьте создание секрета:
Значение Data.cloud должно быть ненулевым.

Установка Velero CLI
Скачайте архив с последней версией Velero с официальной страницы релизов GitHub:
Распакуйте архив:
Переместите бинарный файл Velero в директорию /usr/local/bin:
Проверьте установку:

Установка Velero в кластере
Создайте файл values.yaml с минимально необходимой конфигурацией:
Описание параметров:
-
backupStorageLocation: Настраивает хранилище для бэкапов. -
bucket: Имя S3-бакета. -
s3Url: URL для S3-хранилища Timeweb Cloud. -
initContainers: Добавляет необходимый плагин для работы с S3. -
credentials.existingSecret: Ссылается на ранее созданный секретcloud-credentials, содержащий ключи доступа к S3.
Установка через панель управления
-
Перейдите в панель управления кластером и откройте вкладку «Дополнения». Выберите Velero.

- Включите режим продвинутой установки и загрузите файл
values.yaml, нажав на «Загрузить конфигурацию из файла».

-
Нажмите «Установить».
- Дождитесь завершения установки и проверьте стутс подов:
Установка через Helm
Вы можете установить Velero при помощи Helm. Для этого:
-
Добавьте репозиторий Velero:
-
Установите Velero с использованием файла конфигурации:
-
Проверьте установку:
Статус подов Velero должен быть Running.
Использование
Для демонстрации работы Velero создадим тестовый деплоймент с Nginx и покажем процесс создания резервной копии, удаления ресурсов и последующего восстановления данных.
Создание бэкапа
-
Создайте деплоймент с Nginx в отдельном неймспейсе:
-
Создайте бэкап:
Мы указали параметр --include-namespaces, чтобы выполнить копирование всего неймспейса. Вы также можете указать другие параметры при создании бэкапа:
-
--include-resources: включает конкретные ресурсы (например,pods,services). -
--exclude-resources: исключает определённые ресурсы. -
--ttl: задаёт время жизни бэкапа (например,10h15m0s).
-
Проверьте статус бэкапа:
Восстановление данных
-
Удалите тестовый неймспейс:
-
Восстановите ресурсы из бэкапа:
-
Убедитесь, что неймспейс и деплоймент восстановлены:
Управление расписанием и статусами бэкапов
Помимо создания бэкапов вручную, Velero позволяет автоматизировать создание резервных копий по расписанию. Также вы можете управлять существующими бэкапами.
Настройка автоматического создания бэкапов
Вы можете настроить расписание для регулярного создания резервных копий. Например, чтобы создавать бэкап всех неймспейсов каждый день в полночь:
-
--schedule "0 0 * * *":расписание в формате Cron (каждый день в 00:00). -
--include-namespaces '*': включить все неймспейсы.
Для создания бэкапов одного неймспейса раз в час:
Проверить расписание создания бэкапов можно командой:
Если задача в расписании больше не нужна, ее можно удалить:
Просмотр и управление бэкапами
Список всех существующих бэкапов можно вывести командой:
Для удаления старого бэкапа воспользуйтесь командой:
Чтобы проверить детали бэкапа, включая его статус и ресурсы, выполните:
Эти функции позволяют гибко управлять процессами резервного копирования и восстановить данные в нужный момент.