Резервное копирование Служба 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.KubernetesConfiguration
Microsoft.DataProtection
флагMicrosoft.ContainerService
функции зарегистрирован для подписки.Перед запуском операции резервного копирования или восстановления для резервного копирования AKS необходимо выполнить все предварительные требования.
Дополнительные сведения о поддерживаемых сценариях, ограничениях и доступности см. в матрице поддержки.
создание хранилища Azure Backup;
Хранилище резервных копий — это сущность управления, которая сохраняет точки восстановления, обработанные с течением времени. Хранилище резервных копий также предоставляет интерфейс для выполнения операций резервного копирования. К операциям относятся создание резервных копий по запросу, восстановление и создание политик резервного копирования. Для резервного копирования AKS требуется хранилище резервных копий и кластер AKS в одном регионе. Узнайте , как создать хранилище резервных копий.
Примечание.
Хранилище резервных копий — это новый ресурс, используемый для резервного копирования новых поддерживаемых источников данных. Хранилище резервных копий отличается от хранилища служб восстановления.
Если вы хотите использовать Azure Backup для защиты кластеров AKS от любого регионального сбоя:
Задайте параметр резервного копирования служба хранилища избыточности в качестве глобально избыточного во время создания хранилища. После установки избыточности хранилища невозможно отключить.
Задайте параметр восстановления между регионами в разделе "Свойства хранилища" как включено. После включения этого параметра его нельзя отключить.
Создайте экземпляр резервного копирования с помощью политики резервного копирования с набором длительности хранения для хранилища данных уровня "Стандартный". Каждая точка восстановления, хранящейся в этом хранилище данных, будет находиться в дополнительном регионе.
Примечание.
Хранилище данных уровня "Стандартный" в настоящее время находится в предварительной версии.
создание политики архивации;
Перед настройкой резервных копий необходимо создать политику резервного копирования, которая определяет частоту резервных копий и длительность хранения резервных копий.
Вы также можете создать политику резервного копирования при настройке резервного копирования.
Чтобы создать политику резервного копирования, выполните следующее.
Перейдите в центр резервного копирования и выберите "Политика ", чтобы создать новую политику резервного копирования.
Кроме того, перейдите к политикам> резервного копирования центра>резервного копирования.
Для типа источника данных выберите службу Kubernetes и продолжайте работу.
Введите имя политики резервного копирования (например, политика по умолчанию) и выберите хранилище резервных копий (созданное хранилище резервного копирования), в котором необходимо создать политику резервного копирования.
На вкладке "Расписание и хранение " определите частоту резервных копий и сколько времени они должны храниться на уровне операций и хранилища (также называемом хранилищем данных).
Частота резервного копирования: выберите частоту резервного копирования (почасовую или ежедневную), а затем выберите длительность хранения резервных копий.
Параметр хранения: новая политика резервного копирования имеет два правила хранения.
Кроме того, можно создать дополнительные правила хранения для хранения резервных копий в течение длительного времени, которые выполняются ежедневно или еженедельно.
По умолчанию: это правило определяет длительность хранения по умолчанию для всех резервных копий операционного уровня. Это правило можно изменить только и удалить его невозможно.
Первое успешное резервное копирование выполняется каждый день: помимо правила по умолчанию каждое первое успешное резервное копирование дня может храниться в оперативном хранилище данных и хранилище хранилища уровня "Стандартный". Это правило можно изменить и удалить (если вы хотите сохранить резервные копии в операционном хранилище данных).
Вы также можете определить аналогичные правила для первой успешной резервной копии, выполненной каждую неделю, месяц и год.
Примечание.
- Помимо первого успешного резервного копирования дня, можно определить правила хранения для первой успешной резервной копии недели, месяца и года. С точки зрения приоритета порядок — год, месяц, неделя и день.
- Хранилище данных уровня "Стандартный" в настоящее время находится в предварительной версии. Если вы не хотите использовать эту функцию, измените правило хранения и снимите поле проверка box рядом с хранилищем данных уровня "Стандартный".
- Резервные копии, хранящиеся на уровне хранилища, также могут копироваться в дополнительном регионе (парном регионе Azure), который можно использовать для восстановления кластеров AKS в дополнительный регион, когда основной регион недоступен. Чтобы выбрать эту функцию, используйте геоизбыточное хранилище с включенным восстановлением между регионами.
При настройке частоты резервного копирования и параметров хранения нажмите кнопку "Далее".
На вкладке "Рецензирование и создание " просмотрите сведения и нажмите кнопку "Создать".
Настройка резервного копирования.
Резервное копирование AKS можно использовать для резервного копирования всего кластера или определенных ресурсов кластера, развернутых в кластере. Вы также можете защитить кластер несколько раз в соответствии с расписанием развернутого приложения и требованиями к хранению или требованиям к безопасности.
Примечание.
Чтобы настроить несколько экземпляров резервного копирования для одного кластера AKS:
- Настройте резервное копирование в одном хранилище резервных копий, но с помощью другой политики резервного копирования.
- Настройте резервное копирование в другом хранилище резервных копий.
Чтобы настроить резервные копии для кластера AKS, выполните приведенные действия.
В портал Azure перейдите в кластер AKS, который требуется создать резервную копию.
В меню ресурсов выберите "Резервное копирование" и выберите " Настроить резервную копию".
Чтобы подготовить кластер AKS для резервного копирования или восстановления, выберите "Установить расширение ", чтобы установить расширение резервного копирования в кластере.
Укажите учетную запись хранения и контейнер БОЛЬШИХ двоичных объектов в качестве входных данных.
Резервные копии кластера AKS хранятся в этом контейнере BLOB-объектов. Учетная запись хранения должна находиться в том же регионе и подписке, что и кластер.
Выберите Далее.
Просмотрите сведения об установке расширения и нажмите кнопку "Создать".
Начинается установка расширения.
Когда расширение резервного копирования установлено успешно, выберите "Настроить резервную копию ", чтобы начать настройку резервных копий для кластера AKS.
Это действие также можно выполнить в центре резервного копирования.
Выберите хранилище резервных копий.
Хранилище резервных копий должно иметь доверенный доступ для резервного копирования кластера AKS. Чтобы включить доверенный доступ, выберите "Предоставить разрешение". Если он уже включен, нажмите кнопку "Далее".
Примечание.
- Перед включением доверенного
Microsoft.ContainerServices
доступа включитеTrustedAccessPreview
флаг компонента для поставщика ресурсов в подписке. - Если в кластере AKS не установлено расширение резервного копирования, можно выполнить шаг установки, который настраивает резервное копирование.
- Перед включением доверенного
Выберите политику резервного копирования, которая определяет расписание резервного копирования и их период хранения. Затем выберите Далее.
На вкладке "Источники данных" выберите "Добавить или изменить ", чтобы определить конфигурацию экземпляра резервного копирования.
В области выбора ресурсов для резервного копирования определите ресурсы кластера, которые требуется создать резервную копию.
Дополнительные сведения о конфигурациях резервного копирования.
Для группы ресурсов моментальных снимков выберите группу ресурсов, используемую для хранения моментальных снимков сохраняемого тома (служба хранилища диска Azure). Затем нажмите кнопку "Проверить".
После завершения проверки, если необходимые роли не назначены хранилищу в группе ресурсов моментального снимка, появится ошибка:
Чтобы устранить ошибку, в разделе "Имя источника данных" выберите источник данных и выберите " Назначить отсутствующие роли".
На следующем снимка экрана показан список ролей, которые можно выбрать:
После завершения назначения роли нажмите кнопку "Далее".
Выберите "Настроить резервную копию".
После завершения настройки нажмите кнопку "Далее".
Экземпляр резервного копирования создается после завершения настройки резервного копирования.
Конфигурации резервного копирования
В рамках возможности резервного копирования AKS можно создать резервную копию всех ресурсов кластера или определенных ресурсов кластера. Фильтры, доступные для настройки резервного копирования, можно использовать для выбора ресурсов для резервного копирования. Определенные конфигурации резервного копирования ссылаются на значения для имени экземпляра резервного копирования. Для резервного копирования можно использовать следующие параметры:
Все (включая будущие пространства имен): это резервное копирование всех текущих и будущих значений для пространств имен при резервном копировании базовых ресурсов кластера.
Выберите из списка: выберите определенные значения для пространств имен в кластере AKS для резервного копирования.
Чтобы выбрать определенные ресурсы кластера для резервного копирования, можно использовать метки, подключенные к ресурсам, чтобы включить ресурсы в резервную копию. Резервные копии создаются только для ресурсов с метками, которые вы вводите. Можно использовать несколько меток.
Примечание.
Необходимо добавить метки в каждый развернутый файл YAML и создать резервную копию. Сюда входят ресурсы, область пространства имен, такие как утверждения постоянных томов, а также ресурсы, область кластерных ресурсов, таких как постоянные тома.
Если вы также хотите создать резервную копию ресурсов, область кластеров, секретов и постоянных томов, выберите элементы в разделе "Другие параметры".
Использование перехватчиков во время резервного копирования AKS
В этом разделе описывается, как использовать перехватчик резервного копирования для создания моментального снимка кластера AKS, согласованного с приложением, с развернутым MySQL (постоянный том, содержащий экземпляр MySQL).
Пользовательские перехватчики можно использовать в резервном копировании AKS для выполнения моментальных снимков томов, согласованных с приложениями. Тома используются для баз данных, развертываемых в качестве контейнерных рабочих нагрузок.
С помощью перехватчика резервного копирования можно определить команды для замораживания и отмены блокировки модуля pod MySQL, чтобы сделать моментальный снимок приложения тома. Затем расширение резервного копирования управляет этапами выполнения команд в перехватчиках и принимает моментальный снимок тома.
Моментальный снимок тома, согласованный с приложением с развернутой mySQL, выполняется следующими действиями:
- Модуль pod под управлением MySQL заморожен, чтобы новая транзакция не выполнялась в базе данных.
- Моментальный снимок принимается в качестве резервного копирования тома.
- Модуль pod под управлением MySQL не работает так, чтобы транзакции можно было выполнять снова в базе данных.
Чтобы включить перехватчик резервного копирования в рамках потока конфигурации резервного копирования для резервного копирования MySQL:
Напишите пользовательский ресурс для перехватчика резервного копирования с командами, чтобы заморозить и разморозить 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
Перед настройкой резервного копирования необходимо развернуть пользовательский ресурс перехватчика резервного копирования в кластере AKS.
Чтобы развернуть скрипт, выполните следующую команду:
kubectl apply -f mysqlbackuphook.yaml
После завершения развертывания можно настроить резервное копирование для кластера AKS.