Резервное копирование Служба Azure Kubernetes с помощью Azure Backup

В этой статье описывается настройка и резервное копирование Служба Azure Kubernetes (AKS).

Azure Backup можно использовать для резервного копирования кластеров AKS (ресурсов кластера и постоянных томов, подключенных к кластеру), с помощью расширения резервного копирования, которое должно быть установлено в кластере. Хранилище резервных копий взаимодействует с кластером через расширение резервного копирования для выполнения операций резервного копирования и восстановления.

Примечание.

Резервное копирование с хранилищем и восстановление между регионами для AKS с помощью Azure Backup в настоящее время находится в предварительной версии.

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

  • В настоящее время резервное копирование AKS поддерживает только постоянные тома на основе дисков Azure служба хранилища (включено драйвером CSI). Резервные копии хранятся только в операционном хранилище данных (резервные данные хранятся в клиенте и не перемещаются в хранилище). Хранилище резервных копий и кластер AKS должны находиться в одном регионе.

  • Резервное копирование AKS использует контейнер BLOB-объектов и группу ресурсов для хранения резервных копий. Контейнер BLOB-объектов содержит ресурсы кластера AKS. Моментальные снимки сохраняемого тома хранятся в группе ресурсов. Кластер AKS и расположения хранилища должны находиться в одном регионе. Узнайте, как создать контейнер больших двоичных объектов.

  • В настоящее время резервное копирование AKS поддерживает однодневное резервное копирование. Она также поддерживает более частые резервные копии (в 4-часовом, 8-часовом и 12-часовом интервалах) в день. Оно позволяет хранить данные для восстановления до 360 дней. Узнайте, как создать политику резервного копирования.

  • Чтобы настроить операции резервного копирования и восстановления для кластера AKS, необходимо установить расширение резервного копирования. Дополнительные сведения о расширении резервного копирования.

  • Перед началом операций резервного копирования и TrustedAccessPreview восстановления убедитесь, что Microsoft.KubernetesConfigurationMicrosoft.DataProtectionфлаг Microsoft.ContainerService функции зарегистрирован для подписки.

  • Перед запуском операции резервного копирования или восстановления для резервного копирования AKS необходимо выполнить все предварительные требования.

Дополнительные сведения о поддерживаемых сценариях, ограничениях и доступности см. в матрице поддержки.

создание хранилища Azure Backup;

Хранилище резервных копий — это сущность управления, которая сохраняет точки восстановления, обработанные с течением времени. Хранилище резервных копий также предоставляет интерфейс для выполнения операций резервного копирования. К операциям относятся создание резервных копий по запросу, восстановление и создание политик резервного копирования. Для резервного копирования AKS требуется хранилище резервных копий и кластер AKS в одном регионе. Узнайте , как создать хранилище резервных копий.

Примечание.

Хранилище резервных копий — это новый ресурс, используемый для резервного копирования новых поддерживаемых источников данных. Хранилище резервных копий отличается от хранилища служб восстановления.

Если вы хотите использовать Azure Backup для защиты кластеров AKS от любого регионального сбоя:

  1. Задайте параметр резервного копирования служба хранилища избыточности в качестве глобально избыточного во время создания хранилища. После установки избыточности хранилища невозможно отключить.

    Screenshot shows how to enable the Backup Storage Redundance parameter.

  2. Задайте параметр восстановления между регионами в разделе "Свойства хранилища" как включено. После включения этого параметра его нельзя отключить.

    Screenshot shows how to enable the Cross Region Restore parameter.

  3. Создайте экземпляр резервного копирования с помощью политики резервного копирования с набором длительности хранения для хранилища данных уровня "Стандартный". Каждая точка восстановления, хранящейся в этом хранилище данных, будет находиться в дополнительном регионе.

    Примечание.

    Хранилище данных уровня "Стандартный" в настоящее время находится в предварительной версии.

создание политики архивации;

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

Вы также можете создать политику резервного копирования при настройке резервного копирования.

Чтобы создать политику резервного копирования, выполните следующее.

  1. Перейдите в центр резервного копирования и выберите "Политика ", чтобы создать новую политику резервного копирования.

    Screenshot that shows how to start creating a backup policy.

    Кроме того, перейдите к политикам> резервного копирования центра>резервного копирования.

  2. Для типа источника данных выберите службу Kubernetes и продолжайте работу.

    Screenshot that shows selecting the datasource type.

  3. Введите имя политики резервного копирования (например, политика по умолчанию) и выберите хранилище резервных копий (созданное хранилище резервного копирования), в котором необходимо создать политику резервного копирования.

    Screenshot that shows providing the backup policy name.

  4. На вкладке "Расписание и хранение " определите частоту резервных копий и сколько времени они должны храниться на уровне операций и хранилища (также называемом хранилищем данных).

    Частота резервного копирования: выберите частоту резервного копирования (почасовую или ежедневную), а затем выберите длительность хранения резервных копий.

    Screenshot that shows selection of backup frequency.

    Параметр хранения: новая политика резервного копирования имеет два правила хранения.

    Screenshot that shows selection of retention period.

    Кроме того, можно создать дополнительные правила хранения для хранения резервных копий в течение длительного времени, которые выполняются ежедневно или еженедельно.

    • По умолчанию: это правило определяет длительность хранения по умолчанию для всех резервных копий операционного уровня. Это правило можно изменить только и удалить его невозможно.

    • Первое успешное резервное копирование выполняется каждый день: помимо правила по умолчанию каждое первое успешное резервное копирование дня может храниться в оперативном хранилище данных и хранилище хранилища уровня "Стандартный". Это правило можно изменить и удалить (если вы хотите сохранить резервные копии в операционном хранилище данных).

      Screenshot that shows the retention configuration for Vault Tier and Operational Tier.

    Вы также можете определить аналогичные правила для первой успешной резервной копии, выполненной каждую неделю, месяц и год.

    Примечание.

    • Помимо первого успешного резервного копирования дня, можно определить правила хранения для первой успешной резервной копии недели, месяца и года. С точки зрения приоритета порядок — год, месяц, неделя и день.
    • Хранилище данных уровня "Стандартный" в настоящее время находится в предварительной версии. Если вы не хотите использовать эту функцию, измените правило хранения и снимите поле проверка box рядом с хранилищем данных уровня "Стандартный".
    • Резервные копии, хранящиеся на уровне хранилища, также могут копироваться в дополнительном регионе (парном регионе Azure), который можно использовать для восстановления кластеров AKS в дополнительный регион, когда основной регион недоступен. Чтобы выбрать эту функцию, используйте геоизбыточное хранилище с включенным восстановлением между регионами.
  5. При настройке частоты резервного копирования и параметров хранения нажмите кнопку "Далее".

    Screenshot that shows the completion of a backup policy creation.

  6. На вкладке "Рецензирование и создание " просмотрите сведения и нажмите кнопку "Создать".

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

Резервное копирование AKS можно использовать для резервного копирования всего кластера или определенных ресурсов кластера, развернутых в кластере. Вы также можете защитить кластер несколько раз в соответствии с расписанием развернутого приложения и требованиями к хранению или требованиям к безопасности.

Примечание.

Чтобы настроить несколько экземпляров резервного копирования для одного кластера AKS:

  • Настройте резервное копирование в одном хранилище резервных копий, но с помощью другой политики резервного копирования.
  • Настройте резервное копирование в другом хранилище резервных копий.

Чтобы настроить резервные копии для кластера AKS, выполните приведенные действия.

  1. В портал Azure перейдите в кластер AKS, который требуется создать резервную копию.

  2. В меню ресурсов выберите "Резервное копирование" и выберите " Настроить резервную копию".

  3. Чтобы подготовить кластер AKS для резервного копирования или восстановления, выберите "Установить расширение ", чтобы установить расширение резервного копирования в кластере.

  4. Укажите учетную запись хранения и контейнер БОЛЬШИХ двоичных объектов в качестве входных данных.

    Резервные копии кластера AKS хранятся в этом контейнере BLOB-объектов. Учетная запись хранения должна находиться в том же регионе и подписке, что и кластер.

    Выберите Далее.

    Screenshot that shows how to add storage and blob details for backup.

  5. Просмотрите сведения об установке расширения и нажмите кнопку "Создать".

    Начинается установка расширения.

    Screenshot that shows how to review and install the Backup extension.

  6. Когда расширение резервного копирования установлено успешно, выберите "Настроить резервную копию ", чтобы начать настройку резервных копий для кластера AKS.

    Это действие также можно выполнить в центре резервного копирования.

    Screenshot that shows the selection of Configure Backup.

  7. Выберите хранилище резервных копий.

    Screenshot that shows how to choose a vault.

    Хранилище резервных копий должно иметь доверенный доступ для резервного копирования кластера AKS. Чтобы включить доверенный доступ, выберите "Предоставить разрешение". Если он уже включен, нажмите кнопку "Далее".

    Screenshot that shows how to proceed to the next step after granting permission.

    Примечание.

    • Перед включением доверенного Microsoft.ContainerServices доступа включите TrustedAccessPreview флаг компонента для поставщика ресурсов в подписке.
    • Если в кластере AKS не установлено расширение резервного копирования, можно выполнить шаг установки, который настраивает резервное копирование.
  8. Выберите политику резервного копирования, которая определяет расписание резервного копирования и их период хранения. Затем выберите Далее.

    Screenshot that shows how to choose a backup policy.

  9. На вкладке "Источники данных" выберите "Добавить или изменить ", чтобы определить конфигурацию экземпляра резервного копирования.

    Screenshot that shows how to define the Backup Instance Configuration.

  10. В области выбора ресурсов для резервного копирования определите ресурсы кластера, которые требуется создать резервную копию.

    Дополнительные сведения о конфигурациях резервного копирования.

    Screenshot that shows how to define the cluster resources for backup.

  11. Для группы ресурсов моментальных снимков выберите группу ресурсов, используемую для хранения моментальных снимков сохраняемого тома (служба хранилища диска Azure). Затем нажмите кнопку "Проверить".

    Screenshot that shows how to validate the snapshot resource group.

  12. После завершения проверки, если необходимые роли не назначены хранилищу в группе ресурсов моментального снимка, появится ошибка:

    Screenshot that shows a validation error when required permissions aren't assigned.

  13. Чтобы устранить ошибку, в разделе "Имя источника данных" выберите источник данных и выберите " Назначить отсутствующие роли".

    Screenshot that shows how to start assigning roles.

    На следующем снимка экрана показан список ролей, которые можно выбрать:

    Screenshot that shows how to select missing roles.

  14. После завершения назначения роли нажмите кнопку "Далее".

    Screenshot that shows how to proceed to the backup configuration.

  15. Выберите "Настроить резервную копию".

  16. После завершения настройки нажмите кнопку "Далее".

    Screenshot that shows how to finish backup configuration.

    Экземпляр резервного копирования создается после завершения настройки резервного копирования.

    Screenshot that shows the list of created backup instances.

    Screenshot that shows the backup instance details.

Конфигурации резервного копирования

В рамках возможности резервного копирования AKS можно создать резервную копию всех ресурсов кластера или определенных ресурсов кластера. Фильтры, доступные для настройки резервного копирования, можно использовать для выбора ресурсов для резервного копирования. Определенные конфигурации резервного копирования ссылаются на значения для имени экземпляра резервного копирования. Для резервного копирования можно использовать следующие параметры:

  • Все (включая будущие пространства имен): это резервное копирование всех текущих и будущих значений для пространств имен при резервном копировании базовых ресурсов кластера.

  • Выберите из списка: выберите определенные значения для пространств имен в кластере AKS для резервного копирования.

    Чтобы выбрать определенные ресурсы кластера для резервного копирования, можно использовать метки, подключенные к ресурсам, чтобы включить ресурсы в резервную копию. Резервные копии создаются только для ресурсов с метками, которые вы вводите. Можно использовать несколько меток.

    Примечание.

    Необходимо добавить метки в каждый развернутый файл YAML и создать резервную копию. Сюда входят ресурсы, область пространства имен, такие как утверждения постоянных томов, а также ресурсы, область кластерных ресурсов, таких как постоянные тома.

    Если вы также хотите создать резервную копию ресурсов, область кластеров, секретов и постоянных томов, выберите элементы в разделе "Другие параметры".

Screenshot that shows various backup configurations.

Использование перехватчиков во время резервного копирования AKS

В этом разделе описывается, как использовать перехватчик резервного копирования для создания моментального снимка кластера AKS, согласованного с приложением, с развернутым MySQL (постоянный том, содержащий экземпляр MySQL).

Пользовательские перехватчики можно использовать в резервном копировании AKS для выполнения моментальных снимков томов, согласованных с приложениями. Тома используются для баз данных, развертываемых в качестве контейнерных рабочих нагрузок.

С помощью перехватчика резервного копирования можно определить команды для замораживания и отмены блокировки модуля pod MySQL, чтобы сделать моментальный снимок приложения тома. Затем расширение резервного копирования управляет этапами выполнения команд в перехватчиках и принимает моментальный снимок тома.

Моментальный снимок тома, согласованный с приложением с развернутой mySQL, выполняется следующими действиями:

  1. Модуль pod под управлением MySQL заморожен, чтобы новая транзакция не выполнялась в базе данных.
  2. Моментальный снимок принимается в качестве резервного копирования тома.
  3. Модуль pod под управлением MySQL не работает так, чтобы транзакции можно было выполнять снова в базе данных.

Чтобы включить перехватчик резервного копирования в рамках потока конфигурации резервного копирования для резервного копирования MySQL:

  1. Напишите пользовательский ресурс для перехватчика резервного копирования с командами, чтобы заморозить и разморозить pod PostgreSQL.

    Вы также можете использовать следующий пример скрипта YAML postgresbackuphook.yaml, который имеет предопределенные команды:

    apiVersion: clusterbackup.dataprotection.microsoft.com/v1alpha1
    kind: BackupHook
    metadata:
    # BackupHook CR Name and Namespace
    name: bkphookname0
    namespace: default
    spec:
    # BackupHook Name. This is the name of the hook that will be executed during backup.
    # compulsory
    name: hook1
    # Namespaces where this hook will be executed.
    includedNamespaces: 
    - hrweb
    excludedNamespaces:
    labelSelector:
    # PreHooks is a list of BackupResourceHooks to execute prior to backing up an item.
    preHooks:
       - exec:
          command:
          - /sbin/fsfreeze
          - --freeze
          - /var/lib/postgresql/data
          container: webcontainer
          onError: Continue
    # PostHooks is a list of BackupResourceHooks to execute after backing up an item.
    postHooks:
       - exec:
          container: webcontainer
          command:
             - /sbin/fsfreeze
             - --unfreeze
          onError: Fail
          timeout: 10s
    
    
    
  2. Перед настройкой резервного копирования необходимо развернуть пользовательский ресурс перехватчика резервного копирования в кластере AKS.

    Чтобы развернуть скрипт, выполните следующую команду:

    kubectl apply -f mysqlbackuphook.yaml
    
    
  3. После завершения развертывания можно настроить резервное копирование для кластера AKS.

    Примечание.

    В рамках конфигурации резервного копирования необходимо указать имя настраиваемого ресурса и пространство имен, в которое развернут ресурс в качестве входных данных.

    Screenshot that shows how to add the namespace for the backup configuration.

Следующие шаги