Резервное копирование службы Azure Kubernetes с помощью Azure Backup
В этой статье описывается настройка и резервное копирование Служба Azure Kubernetes (AKS).
Azure Backup можно использовать для резервного копирования кластеров AKS (ресурсов кластера и постоянных томов, подключенных к кластеру), с помощью расширения резервного копирования, которое должно быть установлено в кластере. Хранилище резервных копий взаимодействует с кластером через расширение резервного копирования для выполнения операций резервного копирования и восстановления.
Необходимые компоненты
Перед настройкой резервного копирования для кластера AKS необходимо убедиться:
- В настоящее время СЛУЖБА архивации AKS поддерживает только постоянные тома на основе дисков Azure, включенные драйвером CSI. Резервные копии хранятся только в операционном хранилище данных (резервные данные хранятся в клиенте и не перемещаются в хранилище). Хранилище резервных копий и кластер AKS должны находиться в одном регионе.
- Служба архивации AKS использует контейнер BLOB-объектов и группу ресурсов для хранения резервных копий. Контейнер BLOB-объектов содержит ресурсы кластера AKS. Моментальные снимки сохраняемого тома хранятся в группе ресурсов. Кластер AKS и расположения хранилища должны находиться в одном регионе. Узнайте, как создать контейнер больших двоичных объектов.
- В настоящее время AKS Backup поддерживает однодневные резервные копии. Она также поддерживает более частые резервные копии (в 4-часовом, 8-часовом и 12-часовом интервалах) в день. Оно позволяет хранить данные для восстановления до 360 дней. Узнайте, как создать политику резервного копирования.
- Необходимо установить расширение резервного копирования для настройки операций резервного копирования и восстановления для кластера AKS. Дополнительные сведения о расширении резервного копирования.
- Прежде чем инициировать операции резервного копирования и восстановления, убедитесь, что у вас есть
Microsoft.KubernetesConfiguration
иMicrosoft.DataProtection
Microsoft.ContainerService
зарегистрирована подписка. - Прежде чем инициировать операцию резервного копирования или восстановления для AKS Backup, убедитесь, что выполнены все предварительные требования.
Дополнительные сведения о поддерживаемых сценариях, ограничениях и доступности см. в матрице поддержки.
создание хранилища Azure Backup;
Хранилище резервных копий — это сущность управления, которая сохраняет точки восстановления, обработанные с течением времени. Хранилище резервных копий также предоставляет интерфейс для выполнения операций резервного копирования. К операциям относятся создание резервных копий по запросу, восстановление и создание политик резервного копирования. Для резервного копирования AKS требуется хранилище резервных копий и кластер AKS в одном регионе. Узнайте , как создать хранилище резервных копий.
Примечание.
Хранилище резервных копий — это новый ресурс, используемый для резервного копирования новых поддерживаемых источников данных. Хранилище резервных копий отличается от хранилища служб восстановления.
Если вы хотите использовать Azure Backup для защиты кластеров AKS от любого регионального сбоя, можно включить восстановление между регионами. Чтобы включить восстановление между регионами, необходимо выполнить следующие действия.
Задайте параметр избыточности хранилища резервных копий как геоизбыточное во время создания хранилища. После установки избыточности хранилища его нельзя отключить.
Задайте параметр восстановления между регионами в разделе "Свойства хранилища" как включено. После включения этого параметра его нельзя отключить.
Создайте экземпляр резервного копирования с помощью политики резервного копирования с набором длительности хранения для хранилища данных уровня "Стандартный". Каждая точка восстановления, хранящейся в этом хранилище данных, будет находиться в дополнительном регионе.
Создание политики резервного копирования
Перед настройкой резервных копий необходимо создать политику резервного копирования, которая определяет частоту резервных копий и длительность хранения резервных копий.
Чтобы создать политику резервного копирования, выполните следующее.
Перейдите в созданное хранилище резервного копирования и выберите пункт "Управление политиками>> резервного копирования".
Введите имя политики резервного копирования.
Для типа источника данных выберите Службы Kubernetes.
На вкладке "Расписание и хранение" определите расписание резервного копирования.
- Частота резервного копирования: выберите частоту резервного копирования (почасовую или ежедневную), а затем выберите длительность хранения резервных копий.
- Параметр хранения. Новая политика резервного копирования имеет правило по умолчанию, определенное по умолчанию . Это правило можно изменить и удалить не удается. Правило по умолчанию определяет длительность хранения для всех резервных копий операционного уровня. Кроме того, можно создать дополнительные правила хранения для хранения резервных копий в течение длительного времени, которые выполняются ежедневно или еженедельно.
Вы также можете создавать дополнительные правила хранения для хранения резервных копий в течение длительного времени, которые выполняются ежедневно или еженедельно.
Примечание.
- Помимо первого успешного резервного копирования дня, можно определить правила хранения для первой успешной резервной копии недели, месяца и года. С точки зрения приоритета порядок — год, месяц, неделя и день.
- Резервные копии можно скопировать в дополнительный регион (парный регион Azure), хранящийся на уровне хранилища, который можно использовать для восстановления кластеров AKS в дополнительный регион, когда основной регион недоступен. Чтобы выбрать эту функцию, используйте геоизбыточное хранилище с включенным восстановлением между регионами.
При настройке частоты резервного копирования и параметров хранения нажмите кнопку "Далее".
На вкладке "Рецензирование и создание " просмотрите сведения и нажмите кнопку "Создать".
Установка расширения резервного копирования и настройка резервного копирования
Резервное копирование AKS можно использовать для резервного копирования всего кластера или определенных ресурсов кластера, развернутых в кластере. Вы также можете защитить кластер несколько раз в соответствии с расписанием развернутого приложения и требованиями к хранению или требованиям к безопасности.
Примечание.
Чтобы настроить несколько экземпляров резервного копирования для одного кластера AKS:
- Настройте резервное копирование в одном хранилище резервных копий, но с помощью другой политики резервного копирования.
- Настройте резервное копирование в другом хранилище резервных копий.
Установка расширения резервного копирования
Чтобы настроить резервные копии для кластера AKS, выполните приведенные действия.
В портал Azure перейдите в кластер AKS, который требуется создать резервную копию.
В меню службы в разделе "Параметры" выберите "Резервное копирование".
Чтобы подготовить кластер AKS для резервного копирования или восстановления, выберите "Установить расширение ", чтобы установить расширение резервного копирования в кластере.
Укажите учетную запись хранения и контейнер БОЛЬШИХ двоичных объектов в качестве входных данных.
Резервные копии кластера AKS хранятся в этом контейнере BLOB-объектов. Учетная запись хранения должна находиться в том же регионе и подписке, что и кластер.
Выберите Далее. Просмотрите сведения об установке расширения и нажмите кнопку "Создать".
Начинается установка расширения.
Настроить резервное копирование
Когда расширение резервного копирования установлено успешно, выберите "Настройка резервного копирования".
Выберите хранилище резервных копий, созданное ранее. Хранилище резервных копий должно иметь доверенный доступ для резервного копирования кластера AKS. Чтобы включить доверенный доступ, выберите "Предоставить разрешение". Если он уже включен, нажмите кнопку "Далее".
На вкладке "Политика резервного копирования" выберите политику резервного копирования, которая определяет расписание резервного копирования и их период хранения, а затем нажмите кнопку "Далее".
На вкладке "Источники данных" выберите "Добавить или изменить ", чтобы определить конфигурацию экземпляра резервного копирования.
На панели "Выбор ресурсов для резервного копирования" определите ресурсы кластера, которые требуется создать резервную копию.
Дополнительные сведения о конфигурациях резервного копирования.
Для группы ресурсов моментальных снимков выберите группу ресурсов, используемую для хранения моментальных снимков постоянного тома (хранилища дисков Azure), а затем нажмите кнопку "Проверить".
После завершения проверки, если необходимые роли не назначены хранилищу в группе ресурсов моментального снимка, появится ошибка:
Чтобы устранить ошибку, в разделе "Имя источника данных" установите флажок для источника данных и выберите " Назначить отсутствующие роли".
После завершения назначения роли нажмите кнопку "Далее>настроить резервную копию".
Конфигурации резервного копирования
Azure Backup для AKS позволяет определить границу приложения в кластере AKS, которую требуется создать резервную копию. Фильтры, доступные в конфигурациях резервного копирования, можно использовать для выбора ресурсов для резервного копирования, а также для запуска пользовательских перехватчиков. Определенная конфигурация резервного копирования ссылается на значение имени экземпляра резервного копирования. Приведенные ниже фильтры доступны для определения границы приложения:
Выберите "Выбрать пространства имен" для резервного копирования. Вы можете выбрать "Все ", чтобы создать резервную копию всех существующих и будущих пространств имен в кластере, или выбрать определенные пространства имен для резервного копирования.
Следующие пространства имен пропускаются из конфигураций резервного копирования:
kube-system
,kube-node-lease
иkube-public
.Разверните дополнительные параметры ресурсов, чтобы просмотреть фильтры, которые можно использовать для выбора ресурсов кластера для резервного копирования. Вы можете создать резервную копию ресурсов на основе следующих категорий:
- Метки. Ресурсы AKS можно фильтровать с помощью меток , назначенных типам ресурсов. Введите метки в виде пар "ключ-значение". Можно объединить несколько меток с помощью
AND
логики. Например, если ввести меткиenv=prod;tier!=web
, процесс выбирает ресурсы, имеющие метку сenv
ключом иprod
значением, и метку сtier
ключом, для которого значение неweb
является. - Группы API. Вы также можете включить ресурсы, предоставив группе API AKS и типу. Например, можно выбрать ресурсы AKS резервного копирования, такие как развертывания. Список определенных групп API Kubernetes можно получить здесь.
- Другие варианты. Вы можете включить или отключить резервное копирование для ресурсов с областью кластера, постоянных томов и секретов. Ресурсы с областью кластера и постоянные тома включены по умолчанию.
- Метки. Ресурсы 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.
Примечание.
В рамках конфигурации резервного копирования необходимо указать имя настраиваемого ресурса и пространство имен, в которое развернут ресурс в качестве входных данных.