Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается, как настроить и создать резервную копию службы Azure Kubernetes (AKS) с помощью портала Azure. Вы также можете создать резервную копию AKS с помощью Azure PowerShell.
Azure Backup можно использовать для резервного копирования кластеров AKS (ресурсов кластера и постоянных томов, подключенных к кластеру), с помощью расширения резервного копирования, которое должно быть установлено в кластере. Хранилище резервных копий взаимодействует с кластером через расширение резервного копирования для выполнения операций резервного копирования и восстановления.
Предварительные условия
Перед настройкой резервного копирования для кластера AKS необходимо убедиться:
Currently, AKS Backup supports only Azure Disk Storage-based persistent volumes enabled by CSI driver. Данные резервного копирования могут храниться в виде моментальных снимков в операционном уровне или также можно переместить на уровень хранилища для долгосрочного хранения вместе с моментальными снимками. Хранилище резервных копий и кластер AKS могут находиться в разных подписках в одном клиенте и регионе.
Служба архивации AKS использует контейнер «blob» и «группу ресурсов» для хранения резервных копий. Контейнер BLOB содержит ресурсы кластера AKS. Persistent volume snapshots are stored in the resource group. Кластер AKS и расположения хранилища должны находиться в одном регионе. Узнайте, как создать контейнер BLOB.
В настоящее время AKS Backup поддерживает однодневные резервные копии. Она также поддерживает более частые резервные копии (в 4-часовом, 8-часовом и 12-часовом интервалах) в день. Оно позволяет хранить данные для восстановления до 360 дней. Узнайте, как создать политику резервного копирования.
Необходимо установить расширение резервного копирования для настройки операций резервного копирования и восстановления для кластера AKS. Узнайте больше о расширении резервного копирования.
Make sure you have
Microsoft.KubernetesConfiguration,Microsoft.DataProtection, andMicrosoft.ContainerServiceregistered for your subscription before you initiate backup configuration and restore operations.Прежде чем инициировать операцию резервного копирования или восстановления для AKS Backup, убедитесь, что выполнены все предварительные требования.
Дополнительные сведения о поддерживаемых сценариях, ограничениях и доступности см. в матрице поддержки.
создание резервного хранилища
Хранилище резервных копий — это сущность управления, которая сохраняет точки восстановления, обработанные с течением времени. Хранилище резервных копий также предоставляет интерфейс для выполнения операций резервного копирования. К операциям относятся создание резервных копий по запросу, восстановление и создание политик резервного копирования. Для резервного копирования AKS требуется хранилище резервных копий и кластер AKS, расположенные в одном регионе. However, they can reside in different subscriptions as long as they are within the same tenant. Узнайте , как создать хранилище резервных копий.
Примечание.
Хранилище резервных копий — это новый ресурс, используемый для резервного копирования новых поддерживаемых источников данных. Хранилище резервных копий отличается от хранилища служб восстановления.
Если вы хотите использовать Azure Backup для защиты кластеров AKS от любого регионального сбоя, можно включить восстановление между регионами. Чтобы включить восстановление между регионами, вам нужно:
Set the Backup Storage Redundancy parameter as Geo-Redundant during vault creation. Once the redundancy for a vault is set, you can't disable it.
Установите параметр "Восстановление между регионами" в раздел "Свойства хранилища" как включено. После включения этого параметра его нельзя отключить.
Create a Backup Instance using a Backup Policy with retention duration set for Vault-standard datastore. Каждая точка восстановления, хранящаяся в этом хранилище данных, будет находиться во вторичном регионе.
Создание политики резервного копирования
Перед настройкой резервных копий необходимо создать политику резервного копирования, которая определяет частоту резервных копий и длительность хранения резервных копий.
Чтобы создать политику резервного копирования, выполните следующее.
Перейдите в созданное хранилище резервного копирования и выберите Управление>политиками резервного копирования>Добавить.
Введите имя политики резервного копирования.
Для типа источника данных выберите Службы Kubernetes.
На вкладке "Расписание и хранение" определите расписание резервного копирования.
- Частота резервного копирования: выберите частоту резервного копирования (почасовую или ежедневную), а затем выберите длительность хранения резервных копий.
- Параметр хранения. Новая политика резервного копирования имеет правило по умолчанию, определенное по умолчанию . Это правило можно изменить, но удалить его нельзя. Правило по умолчанию определяет длительность хранения для всех резервных копий операционного уровня. Кроме того, можно создать дополнительные правила хранения для хранения резервных копий в течение длительного времени, которые выполняются ежедневно или еженедельно.
Примечание.
- Помимо первого успешного резервного копирования дня, можно определить правила хранения для первой успешной резервной копии недели, месяца и года. С точки зрения приоритета порядок — год, месяц, неделя и день.
- Резервные копии можно скопировать в дополнительный регион (парный регион Azure), хранящийся на уровне хранилища, который можно использовать для восстановления кластеров AKS в дополнительный регион, когда основной регион недоступен. Для использования этой функции используйте геоизбыточное хранилище с включенной функцией кросс-регионального восстановления.
При настройке частоты резервного копирования и параметров хранения нажмите кнопку "Далее".
На вкладке "Рецензирование и создание " просмотрите сведения и нажмите кнопку "Создать".
Установка расширения резервного копирования и настройка резервного копирования
Резервное копирование AKS можно использовать для резервного копирования всего кластера или определенных ресурсов кластера, развернутых в кластере. Вы также можете защитить кластер несколько раз в соответствии с расписанием развернутого приложения и требованиями к хранению или требованиям к безопасности.
Примечание.
Чтобы настроить несколько экземпляров резервного копирования для одного кластера AKS:
- Настройте резервное копирование в одном хранилище резервных копий, но с помощью другой политики резервного копирования.
- Настройте резервное копирование в другом хранилище резервных копий.
Установка расширения резервного копирования
Чтобы настроить резервные копии для кластера AKS, выполните приведенные действия.
In the Azure portal, go to the AKS cluster that you want to back up.
В меню службы в разделе "Параметры" выберите "Резервное копирование".
Чтобы подготовить кластер AKS для резервного копирования или восстановления, выберите "Установить расширение ", чтобы установить расширение резервного копирования в кластере.
Provide a storage account and blob container as input.
Резервные копии кластера AKS хранятся в этом контейнере BLOB. Учетная запись хранения должна находиться в том же регионе и подписке, что и кластер.
Выберите Далее. Просмотрите сведения об установке расширения и нажмите кнопку "Создать".
Начинается установка расширения.
Настроить резервное копирование
Когда расширение резервного копирования установлено успешно, выберите "Настройка резервного копирования".
Выберите хранилище резервных копий, созданное ранее. Хранилище резервных копий должно иметь доверенный доступ для резервного копирования кластера AKS. Чтобы включить доверенный доступ, выберите "Предоставить разрешение". Если он уже включен, нажмите кнопку "Далее".
На вкладке "Политика резервного копирования" выберите политику резервного копирования, которая определяет расписание резервного копирования и их период хранения, а затем нажмите кнопку "Далее".
На вкладке "Источники данных" выберите "Добавить или изменить ", чтобы определить конфигурацию экземпляра резервного копирования.
На панели "Выбор ресурсов для резервного копирования" определите ресурсы кластера, которые требуется создать резервную копию.
Дополнительные сведения о конфигурациях резервного копирования.
Для группы ресурсов для моментальных снимков выберите группу ресурсов, используемую для хранения моментальных снимков постоянного тома (Azure Disk Storage), а затем выберите Проверить.
When validation is finished, if required roles aren't assigned to the vault in the snapshot resource group, an error appears:
Чтобы устранить ошибку, в разделе "Имя источника данных" установите флажок для источника данных и выберите " Назначить отсутствующие роли".
После завершения назначения роли нажмите кнопку "Далее>настроить резервную копию".
Конфигурации резервного копирования
Azure Backup для AKS позволяет задать границы приложения в кластере AKS, которые нужно зарезервировать. You can use the filters that are available within backup configurations to choose the resources to back up and also to run custom hooks. The defined backup configuration is referenced by the value for Backup Instance Name. Приведенные ниже фильтры доступны для определения границы приложения:
Select Select Namespaces to backup. Вы можете выбрать "Все ", чтобы создать резервную копию всех существующих и будущих пространств имен в кластере, или выбрать определенные пространства имен для резервного копирования.
The following namespaces are skipped from Backup configurations:
kube-system,kube-node-lease, andkube-public.Разверните дополнительные параметры ресурсов, чтобы просмотреть фильтры, которые можно использовать для выбора ресурсов кластера для резервного копирования. Вы можете создать резервную копию ресурсов на основе следующих категорий:
Метки. Ресурсы AKS можно фильтровать с помощью меток , назначенных типам ресурсов. Введите метки в виде пар "ключ-значение". Можно объединить несколько меток с помощью
ANDлогики. Например, если ввести меткиenv=prod;tier!=web, процесс выбирает ресурсы, имеющие метку с ключомenvи значениемprod, а также метку с ключомtier, для которой значение не являетсяweb.Группы API: Вы также можете включить ресурсы, предоставив группу API AKS и тип. For example, you can choose for backup AKS resources like Deployments. Список определенных групп API Kubernetes можно получить здесь.
Другие варианты: Вы можете включить или отключить резервное копирование для кластерных ресурсов, постоянных томов и секретов. Ресурсы, охватывающие весь кластер, и постоянные тома включены по умолчанию.
Примечание.
Необходимо добавить метки в каждый YAML файл, который развёртывается и будет архивироваться. This includes namespace-scoped resources like persistent volume claims, and cluster-scoped resources like persistent volumes.
If you want to exclude specific Persistent Volume Claims from your backups, add the annotation velero.io/exclude-from-backup=true. This Velero annotation is supported by Azure Backup for AKS.
Use hooks during AKS Backup
This section describes how to use a backup hook to create an application-consistent snapshot of the AKS cluster with MySQL deployed (a persistent volume that contains the MySQL instance).
You can use custom hooks in AKS backup to accomplish application-consistent snapshots of volumes. The volumes are used for databases that are deployed as containerized workloads.
By using a backup hook, you can define the commands to freeze and unfreeze a MySQL pod so that an application snapshot of the volume can be taken. The Backup extension then orchestrates the steps of running the commands in the hooks and takes the volume snapshot.
An application-consistent snapshot of a volume with MySQL deployed is taken by doing the following actions:
- Модуль pod под управлением MySQL заморожен, чтобы новая транзакция не выполнялась в базе данных.
- A snapshot is taken of the volume as backup.
- Модуль с MySQL разморожен, чтобы транзакции снова могли выполняться в базе данных.
To enable a backup hook as part of the backup configuration flow to back up MySQL:
Write the custom resource for backup hook with commands to freeze and unfreeze a PostgreSQL pod.
Вы также можете использовать следующий пример скрипта 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: 10sBefore you configure a backup, you must deploy the backup hook custom resource in the AKS cluster.
Чтобы развернуть скрипт, выполните следующую команду:
kubectl apply -f mysqlbackuphook.yamlПо завершении развертывания можно настроить резервные копии для кластера AKS.
Примечание.
В рамках конфигурации резервного копирования необходимо указать имя настраиваемого ресурса и пространство имен, в которое развернут ресурс в качестве входных данных.
Следующие шаги
- Восстановление кластера Azure Kubernetes Service с помощью Портала Azure и Azure PowerShell
- Управление резервными копиями кластера Служба Azure Kubernetes
- О резервном копировании кластера в службе Azure Kubernetes