Использование Velero
Velero — это инструмент с открытым исходным кодом для резервного копирования и миграции кластеров Kubernetes от VMware. KubeVirt предоставляет плагин Velero для поддержки резервного копирования и восстановления виртуальных машин.
Содержание
Предварительные требованияШаги выполненияПодготовкаРезервное копированиеВосстановлениеВосстановление между кластерамиВосстановление в другой namespaceВосстановление с другим StorageClassПредварительные требования
- Версия Kubernetes: 1.20 или выше (требование Velero)
- S3-хранилище: для BackupStorageLocation Velero используйте объектное хранилище Ceph или MinIO, предоставляемое платформой
- Блочное хранилище: Ceph RBD, предоставляемое платформой
Шаги выполнения
Подготовка
-
Разверните Velero на платформе ACP через Platform Management → Cluster Management → Backup and Recovery → Backup Repository. Используйте данные объектного хранилища для создания репозитория резервных копий.
-
Включите функцию CSI и добавьте плагин KubeVirt:
Добавьте следующее в деплоймент Velero:
Добавьте в секцию initContainers:
-
Проверьте установку плагина KubeVirt:
Пример вывода:
-
Настройте node-agent для монтирования директории kubelet хоста и включите привилегированный режим (требуется для передачи данных через
/var/lib/kubelet):Обновите следующим образом:
Резервное копирование
-
Создайте виртуальную машину с необходимым количеством дисков.
-
Создайте ресурс резервного копирования:
-
Дождитесь завершения резервного копирования и проверьте его:
Пример вывода:
-
Проверьте статус dataupload для передачи данных:
Пример вывода:
-
Подтвердите завершение резервного копирования:
Пример вывода:
-
Проверьте репозиторий резервных копий (например, MinIO) на наличие директорий:
Пример вывода:
Восстановление
-
Удалите исходную виртуальную машину.
-
Создайте ресурс восстановления через Platform Management → Cluster Management → Backup and Recovery → Restore Management или вручную:
-
Проверьте восстановление:
Проверьте статус datadownload:
Пример вывода:
Статус восстановления:
-
Подтвердите, что виртуальная машина восстановлена и работает.
Восстановление между кластерами
- Разверните Velero в новом кластере и выполните шаги подготовки.
- Настройте тот же репозиторий резервных копий (тот же бакет и директорию), что и в исходном кластере. Ресурс резервного копирования появится автоматически.
- Следуйте шагам восстановления, описанным выше.
Восстановление в другой namespace
Добавьте поле namespaceMapping в спецификацию восстановления:
Восстановление с другим StorageClass
- Создайте ConfigMap в namespace
cpaas-systemперед началом восстановления: - Убедитесь, что возможности хранилища (например, доступность между узлами, RWX) совпадают.
- Примечание: изменение режима RWX в настоящее время не поддерживается.