Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

Настройка резервного копирования с использованием Кибер Бэкап

В разделе описана процедура настройки резервного копирования ресурсов Kubernetes и данных на PersistentVolumeClaim (PVC) в Longhorn с использованием Кибер Бэкап в Nova.

1. Необходимые условия

  • Развернут кластер Nova версии 7.5.0.

  • Развернут отдельный сервер с установленным Кибер Бэкап версии 18.5.

  • У вас есть доступ к кластеру Nova с учетной записью, имеющей роль cluster-admin в Kubernetes.

  • Установлен модуль Longhorn.

  • Настроено резервное копирование узлов кластера.

2. Установка агента Кибер Бэкап в Nova

  1. Убедитесь, что у вас установлены необходимые пакеты из статьи.

  2. В веб-консоли Кибер Бэкап перейдите в УстройстваНеобслуживаемые машины.

    Необслуживаемые машины
  3. Добавьте приложение Kubernetes.

    Приложение Kubernetes
  4. Скачайте и установите агент Кибер Бэкап для Kubernetes.

    Кибер Бэкап агент для Kubernetes
  5. Скопируйте агент на мастер-узлы.

  6. Запустите агент с правами root.

  7. При установке выберите Agent for Linux и Agent for Kubernetes.

    Настройки агента
  8. При установке укажите IP-адрес сервера управления Кибер Бэкап и данные для подключения (в данном случае — имя и пароль).

    Данные для подключения

При возникновении ошибки при установке обратитесь к статье.

3. Бэкап Kubernetes ресурсов Nova и PVC (на Longhorn)

3.1. Добавление кластера Nova в веб консоли Кибер Бэкап

  1. В веб-консоли Кибер Бэкап перейдите в УстройстваНеобслуживаемые машины (или в любую другую вкладку пределах блока Устройства).

    Необслуживаемые машины
  2. Добавьте кластер Kubernetes.

    Приложение Kubernetes
    Добавить кластер Kubernetes
  3. Выберите подключенный агент.

  4. Выберите конфигурационный файл кластера (можно использовать файл kubeadmin.conf, созданный при установке Nova, или взять с мастер-узла /etc/kubernetes/admin.conf).

    Данные для добавления кластера Kubernetes

3.2. Создание плана защиты в веб-консоли Кибер Бэкап

  1. В веб-консоли Кибер Бэкап перейдите в ПланыЗащита.

  2. Создайте план и выберите Kubernetes в Выбор данных.

    Создать план
    Создать план Kubernetes
  3. Выберите Комбинированное в Хранение моментальных снимков.

  4. Выберите Место сохранения.

  5. Нажмите Создать.

    Настройки плана

Для большей безопасности данных рекомендуется использовать Комбинированное хранение моментальных снимков. Это позволит хранить резервную копию данных PVC локально и на удаленном сервере в настроенном Хранилище резервных копий (например, на NFS-сервере).

3.3. Настройка резервного копирования PVC на основе Longhorn в Nova

Создайте VolumeSnapshotClass для резервного копирования данных Longhorn.

kind: VolumeSnapshotClass
apiVersion: snapshot.storage.k8s.io/v1
metadata:
  name: longhorn
  annotations:
    snapshot.storage.kubernetes.io/is-default-class: "true"
driver: driver.longhorn.io
deletionPolicy: Delete
parameters:
  type: bi

3.4. Проверка резервного копирования PVC

  1. Создайте ресурсы из следующего манифеста в кластере Nova (можно применить в веб-консоли Nova или с одного из мастер-узлов).

    Пример
    apiVersion: v1
    kind: Namespace
    metadata:
      name: test
    ---
    apiVersion: v1
    kind: Pod
    metadata:
      name: busybox-pod
      namespace: test
    spec:
      containers:
      - name: busybox
        image: hub-nova.orionsoft.ru/library/busybox:latest
        command: ["/bin/sh", "-c", "sleep 3600"]
        volumeMounts:
        - mountPath: /tmp/busybox
          name: busybox-storage
      volumes:
      - name: busybox-storage
        persistentVolumeClaim:
          claimName: busybox-pvc
    ---
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: busybox-pvc
      namespace: test
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 1Gi
      storageClassName: longhorn-storage-single-replica
  2. Создайте файл внутри пода в смонтированном каталоге.

    kubectl exec -it busybox-pod -n test -- /bin/sh -c 'echo "Hello World!" > /tmp/busybox/test.txt'
  3. Зайдите в веб-консоль Кибер Бэкап в УстройстваKubernetes.

  4. Найдите и нажмите на пространство имен test.

  5. Нажмите на Защитить.

    Kubernetes
  6. Выберите и примените план защиты.

    Kubernetes
  7. В веб-консоли Nova перейдите на вкладку Namespaces и удалите пространство имен test.

  8. В веб-консоли Longhorn перейдите на вкладку Volume и убедитесь, что busybox-pod отсутствует в списке.

  9. В веб-консоли Кибер Бэкап перейдите в УстройстваKubernetes.

  10. Найдите и нажмите на пространство имен test.

  11. Нажмите Восстановление.

    Восстановление
  12. Выберите нужную резервную копию и нажмите Восстановить.

    Восстановление
  13. Нажмите на Восстановить все пространство.

    Восстановление
  14. Выберите Удалить старое пространство и создать новое с выбранными ресурсами и нажмите Начать восстановление.

    Восстановление
  15. В веб-консоли Nova перейдите на вкладку РесурсыPods.

  16. Убедитесь, что создался под busybox-pod.

  17. Убедитесь, что данные восстановились.

    kubectl exec -it busybox-pod -n test -- /bin/sh -c 'cat /tmp/busybox/test.txt'
    
    Hello World!

4. Создание резервной копии узлов Nova

В данном примере будет выполнено резервное копирование и восстановление мастер-узлов.

4.1. Создание плана защиты в веб-консоли Кибер Бэкап

  1. В веб-консоли Кибер Бэкап перейдите в ПланыЗащита.

  2. Создайте план и выберите Вся машина в Выбор данных.

    Создать план
  3. Выберите Место сохранения.

  4. Нажмите Создать.

  5. Отредактируйте план и добавьте узел для резервного копирования. Для этого нажмите на Добавить устройство. После этого выберите мастер-узел.

    Добавить устройство
  6. Перейдите в УстройстваФизические и виртуальные машины → выберите мастер-узел и нажмите Защитить.

    Защитить
  7. Запустите резервное копирование и дождитесь его завершения.

    Создание резервной копии
  8. Выключите мастер-узел и создайте аналогичный сервер.

  9. Установите агент Кибер Бэкап на сервер с аналогичными ранее настройками, но также добавьте компонент Bootable Media Builder.

    Компоненты
  10. В веб-консоли Кибер Бэкап перейдите в Хранилища резервных копий → выберите хранилище → выберите резервную копию, из которой хотите выполнить восстановление → нажмите Восстановить и выберите Вся машина.

    Хранилища резервных копий
  11. Укажите сервер, куда будут восстановлены данные, и нажмите Начать восстановление.

    Восстановление
  12. Проверьте, какие изменения будут выполнены, и нажмите Начать восстановление.

    Подтверждение
  13. Дождитесь окончания восстановления.

  14. Зайдите на узел и проверьте состояние сервисов kubelet и etcd.

    systemctl status kubelet
    systemctl status etcd
  15. В случае проблем с etcd следуйте соответствующему пункту в статье.