В инструкции описано создание резервной копии ресурсов в кластере Managed Kubernetes и восстановление ресурсов из резервной копии с помощью Restic.
Проверьте, что вы можете подключиться к кластеру.
Проверьте, что Restic установлен и инициализирован.
Создайте секрет для подключения к S3-хранилищу s3-keys.yaml:
apiVersion: v1kind: Secretmetadata:name: s3-keysdata:accessKeyId: <access_key_id>secretAccessKey: <secret_key_id>resticKey: <restic_password>bucketName: "<restic_repository>"type: Opaque
Где:
<access_key_id> — значение Key ID (логин) персонального ключа доступа для S3-хранилища.
<secret_key_id> — значение Key Secret (пароль) персонального ключа доступа для S3-хранилища.
<your_region> — регион размещения бакета. Например, ru-central-1.
<restic_repository> — путь к хранилищу резервных копий. Например, s3:s3.cloud.ru/restic-test/restic-repo.
<restic_password> — пароль к хранилищу резервных копий, использованный при инициализации Restic.
Выполните команду:
kubectl apply -f s3-keys.yaml
Разверните в отдельном пространстве имен кластера приложение. Например, cloudru-app-example.
Создайте в контейнере файл.
Пример:
kubectl exec -ti --stdin --tty <pod-name> -n cloudru-nginx-example -- /bin/bash
$ echo "Hello cloud.ru!" > /usr/share/nginx/html/index.html
Проверьте, что приложение отвечает.
Пример:
curl <the_public_IP_address_assigned_to_the_load_balancer>
Задайте параметры бэкапирования по расписанию в манифесте cronjob-backup.yaml.
Выполните команду:
kubectl apply -f cronjob-backup.yaml
Проверьте экземпляры резервных копий:
restic snapshots
Задайте параметры восстановления в манифесте job-restore.yaml.
Выполните команду:
kubectl apply -f job-restore.yaml
Чтобы восстановить данные по идентификатору резервной копии, выполните:
restic restore <snapshot_ID> --target /path/to/restore
Где <snapshot_ID> — идентификатор экземпляра резервной копии. Можно получить, выполнив: restic snapshots.
Чтобы восстановить только часть данных из резервной копии, добавьте флаг –include:
restic restore <snapshot_ID> --target /path/to/restore --include /specific/path