nav-img
Evolution

Создать резервную копию и восстановить ресурсы с Restic

В инструкции описано создание резервной копии ресурсов в кластере Managed Kubernetes и восстановление ресурсов из резервной копии с помощью Restic.

Перед началом работы

  1. Проверьте, что Restic установлен и инициализирован.

  2. Создайте секрет для подключения к S3-хранилищу s3-keys.yaml:

    apiVersion: v1
    kind: Secret
    metadata:
    name: s3-keys
    data:
    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.

  3. Выполните команду:

    kubectl apply -f s3-keys.yaml
  4. Разверните в отдельном пространстве имен кластера приложение. Например, cloudru-app-example.

  5. Создайте в контейнере файл.

    Пример:

    kubectl exec -ti --stdin --tty <pod-name> -n cloudru-nginx-example -- /bin/bash
    $ echo "Hello cloud.ru!" > /usr/share/nginx/html/index.html
  6. Проверьте, что приложение отвечает.

    Пример:

    curl <the_public_IP_address_assigned_to_the_load_balancer>

Шаг 1. Создайте резервную копию

  1. Задайте параметры бэкапирования по расписанию в манифесте cronjob-backup.yaml.

  2. Выполните команду:

    kubectl apply -f cronjob-backup.yaml
  3. Проверьте экземпляры резервных копий:

    restic snapshots

Шаг 3. Восстановите ресурсы из резервной копии

  1. Задайте параметры восстановления в манифесте job-restore.yaml.

  2. Выполните команду:

    kubectl apply -f job-restore.yaml
  3. Чтобы восстановить данные по идентификатору резервной копии, выполните:

    restic restore <snapshot_ID> --target /path/to/restore

    Где <snapshot_ID> — идентификатор экземпляра резервной копии. Можно получить, выполнив: restic snapshots.

  4. Чтобы восстановить только часть данных из резервной копии, добавьте флаг –include:

    restic restore <snapshot_ID> --target /path/to/restore --include /specific/path