Поделиться через


Резервное копирование службы 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. Задайте параметр избыточности хранилища резервных копий как глобально избыточный во время создания хранилища. После установки избыточности хранилища невозможно отключить.

    Снимок экрана: включение параметра избыточности хранилища резервных копий.

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

    Снимок экрана: включение параметра восстановления между регионами.

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

    Примечание.

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

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

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

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

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

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

    Снимок экрана: начало создания политики резервного копирования.

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

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

    Снимок экрана: выбор типа источника данных.

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

    Снимок экрана: указание имени политики резервного копирования.

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

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

    Снимок экрана: выбор частоты резервного копирования.

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

    Снимок экрана: выбор периода хранения.

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

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

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

      Снимок экрана: конфигурация хранения для уровня хранилища и операционного уровня.

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

    Примечание.

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

    Снимок экрана: завершение создания политики резервного копирования.

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

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

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

Примечание.

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

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

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

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

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

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

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

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

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

    Снимок экрана: добавление сведений о хранилище и BLOB-объекта для резервного копирования.

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

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

    Снимок экрана: проверка и установка расширения резервного копирования.

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

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

    Снимок экрана: выбор настройки резервного копирования.

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

    Снимок экрана: выбор хранилища.

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

    Снимок экрана: переход к следующему шагу после предоставления разрешения.

    Примечание.

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

    Снимок экрана: выбор политики резервного копирования.

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

    Снимок экрана: определение конфигурации экземпляра резервного копирования.

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

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

    Снимок экрана: определение ресурсов кластера для резервного копирования.

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

    Снимок экрана: проверка группы ресурсов моментального снимка.

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

    Снимок экрана: ошибка проверки, если необходимые разрешения не назначены.

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

    Снимок экрана: начало назначения ролей.

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

    Снимок экрана: выбор отсутствующих ролей.

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

    Снимок экрана: переход к конфигурации резервного копирования.

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

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

    Снимок экрана: завершение настройки резервного копирования.

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

    Снимок экрана: список созданных экземпляров резервного копирования.

    Снимок экрана: сведения об экземпляре резервного копирования.

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

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

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

    Снимок экрана: выбор пространств имен для включения в резервную копию.

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

    • Метки. Ресурсы AKS можно фильтровать с помощью меток , назначенных типам ресурсов. Введите метки в виде пар "ключ-значение". Объединение нескольких меток с помощью AND логики.

    Например, если ввести метки env=prod;tier!=web, процесс выбирает ресурсы, имеющие метку с env ключом и prod значением, и метку с tier ключом, для которого значение не webявляется.

    • Группы API. Вы также можете включить ресурсы, предоставив группе API AKS и типу. Например, можно выбрать ресурсы AKS резервного копирования, такие как развертывания. Список определенных групп API Kubernetes можно получить здесь.

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

    Снимок экрана: панель

    Примечание.

    Все эти параметры ресурсов объединяются и применяются с помощью AND логики.

Примечание.

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

Снимок экрана: различные конфигурации резервного копирования.

Использование перехватчиков во время резервного копирования 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.

    Примечание.

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

    Снимок экрана: добавление пространства имен для конфигурации резервного копирования.

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