Что такое резервное копирование Служба Azure Kubernetes?

резервное копирование Служба Azure Kubernetes (AKS) — это простой облачный процесс, который можно использовать для резервного копирования и восстановления контейнерных приложений и данных, выполняемых в кластере AKS. Вы можете настроить запланированные резервные копии для данных о состоянии кластера и приложениях, хранящихся на постоянных томах в служба хранилища диска Azure на основе драйвера CSI. Это решение предоставляет детализированный контроль для выбора определенного пространства имен или всего кластера для резервного копирования или восстановления путем хранения резервных копий локально в контейнере BLOB-объектов и в виде моментальных снимков дисков. Резервное копирование AKS можно использовать для комплексных сценариев, включая операционное восстановление, клонирование сред разработчика или тестирования и сценарии обновления кластера.

Резервное копирование AKS интегрируется с Центром резервного копирования в Azure, предоставляя единое представление, которое позволяет управлять, отслеживать, управлять и анализировать резервные копии в масштабе. Резервные копии также доступны в портал Azure в разделе Параметры в меню ресурсов для экземпляра AKS.

Примечание.

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

Как работает резервное копирование AKS?

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

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

Для поддержки общедоступных, частных и авторизованных кластеров на основе IP-адресов резервная копия AKS требует включения доверенного доступа между кластером AKS и хранилищем резервных копий. Доверенный доступ позволяет хранилищу резервного копирования получить доступ к кластеру AKS из-за определенных разрешений, назначенных ему для операций резервного копирования. Дополнительные сведения о доверенном доступе AKS см. в статье "Разрешить ресурсам Azure доступ к кластерам AKS с помощью доверенного доступа".

Примечание.

Резервное копирование AKS позволяет хранить резервные копии на операционном уровне. Операционный уровень — это локальное хранилище данных (в клиенте как моментальные снимки). Теперь можно переместить одну точку восстановления в день и сохранить ее на уровне хранилища как большие двоичные объекты (за пределами клиента) с помощью резервного копирования AKS. Вы также можете использовать хранилище резервных копий для управления резервными копиями.

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

Решение резервного копирования позволяет выполнять операции резервного копирования для источников данных AKS, развернутых в кластере, и для данных, хранящихся в постоянном томе кластера, а затем хранить резервные копии в контейнере BLOB-объектов. Постоянные тома на основе диска создаются в виде моментальных снимков дисков в группе ресурсов моментальных снимков. Моментальные снимки и состояние кластера в большом двоичном объекте объединяются для формирования точки восстановления, которая хранится в клиенте под названием "Операционный уровень". Вы также можете преобразовать резервные копии (первая успешная архивация в день, неделю, месяц или год) в операционный уровень в большие двоичные объекты, а затем переместить их в Хранилище (за пределами клиента) один раз в день.

Примечание.

В настоящее время Azure Backup поддерживает только постоянные тома в служба хранилища диска Azure на основе драйвера CSI. Во время резервного копирования решение пропускает другие типы постоянных томов, например общую папку Azure и большие двоичные объекты. Кроме того, резервные копии могут быть перемещены в хранилище, если постоянные тома имеют размер меньше или равно 1 ТБ.

Настроить резервное копирование

  • Чтобы настроить резервные копии для кластеров AKS, сначала создайте хранилище резервных копий. Хранилище предоставляет консолидированное представление резервных копий, настроенных в разных источниках данных. Резервное копирование AKS поддерживает резервные копии уровня операций и хранилища.

    Примечание.

    • Хранилище резервных копий и кластер AKS, которые требуется выполнить резервное копирование или восстановление, должны находиться в одном регионе и подписке.
    • Параметр избыточности хранилища резервных копий (LRS/GRS) применяется только к резервным копиям, хранящимся на уровне хранилища. Если вы хотите использовать резервные копии для аварийного восстановления, задайте избыточность хранилища как GRS с включенным восстановлением между регионами.
  • Резервное копирование AKS автоматически активирует запланированное задание резервного копирования. Задание копирует ресурсы кластера в контейнер БОЛЬШИХ двоичных объектов и создает добавочный моментальный снимок постоянных томов на основе диска в соответствии с частотой резервного копирования. Резервные копии сохраняются на операционном уровне и уровне хранилища в соответствии с длительностью хранения, определенной в политике резервного копирования, и удаляются после завершения длительности.

    Примечание.

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

Управление резервным копированием

После завершения конфигурации резервного копирования для кластера AKS в хранилище резервных копий создается экземпляр резервной копии. Экземпляр резервного копирования для кластера можно просмотреть в разделе "Резервное копирование" для экземпляра AKS в портал Azure. Вы можете выполнять любые операции, связанные с резервным копированием для экземпляра, такие как инициирование восстановления, мониторинг, остановка защиты и т. д. с помощью соответствующего экземпляра резервного копирования.

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

Резервное копирование AKS использует управляемое удостоверение для доступа к другим ресурсам Azure. Чтобы настроить резервное копирование кластера AKS и восстановить из предыдущей резервной копии, управляемое удостоверение хранилища архивации требует набора разрешений для кластера AKS и группы ресурсов моментальных снимков, в которой создаются и управляются моментальные снимки. В настоящее время кластер AKS требует набора разрешений для группы ресурсов моментального снимка. Кроме того, расширение резервного копирования создает удостоверение пользователя и назначает набор разрешений для доступа к учетной записи хранения, в которой резервные копии хранятся в большом двоичном объекте. Управляемому удостоверению можно предоставить разрешения, используя управление доступом на основе ролей Azure (Azure RBAC). Управляемое удостоверение — это особый тип принципа службы, который можно использовать только с ресурсами Azure. Дополнительные сведения об управляемых удостоверениях.

Восстановление из резервной копии

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

Azure Backup позволяет восстановить все элементы, резервные копии или использовать детализированные элементы управления для выбора определенных элементов из резервных копий, выбрав пространства имен и другие параметры фильтра. Кроме того, можно выполнить восстановление в исходном кластере AKS (кластере, резервном копировании) или в альтернативном кластере AKS. Резервные копии, хранящиеся на уровне операционных и хранилищ, можно восстановить в кластере в одной и той же и другой подписке. Можно использовать только резервные копии, хранящиеся на уровне хранилища, для восстановления в кластере в другом регионе (парный регион Azure).

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

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

  1. Пропустить. Этот параметр выбран по умолчанию. Например, если вы создали резервную копию ПВХ с именем pvc-azuredisk и восстанавливаете его в целевом кластере с тем же именем, то расширение резервного копирования пропускает восстановление сохраняемого утверждения тома (ПВХ). В таких сценариях рекомендуется удалить ресурс из кластера, а затем выполнить операцию восстановления, чтобы элементы резервного копирования были доступны только в кластере и не пропускаются.

  2. Исправление. Этот параметр позволяет изменять изменяемую переменную в резервном копировании ресурса ресурса в целевом кластере. Если вы хотите обновить количество реплика в целевом кластере, можно выбрать исправление в качестве операции.

Примечание.

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

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

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

Что такое пользовательские перехватчики?

Резервное копирование AKS можно использовать для выполнения пользовательских перехватчиков в рамках операции резервного копирования и восстановления. Перехватчики — это команды, настроенные для выполнения одной или нескольких команд, выполняемых в модуле pod в контейнере во время операции резервного копирования или после восстановления. Эти перехватчики определяются как пользовательский ресурс и развертываются в кластере AKS, который требуется выполнить резервное копирование или восстановление. При развертывании пользовательского ресурса в кластере AKS в требуемом пространстве имен вы предоставляете сведения в качестве входных данных для потока для настройки резервного копирования и восстановления. Расширение резервного копирования запускает перехватчики, как определено в YAML-файле.

Примечание.

Перехватчики не выполняются в оболочке на контейнерах.

Резервное копирование в AKS имеет два типа перехватчиков:

  • Перехватчики резервного копирования
  • Восстановление перехватчиков

Перехватчики резервного копирования

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

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

apiVersion: clusterbackup.dataprotection.microsoft.com/v1alpha1
kind: BackupHook
metadata:
  # BackupHook CR Name and Namespace
  name: bkphookname0
  namespace: default
spec:
  # BackupHook is a list of hooks to execute before and after backing up a resource.
  backupHook:
    # 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:
          # Container is the container in the pod where the command should be executed.
          container: webcontainer
          # Command is the command and arguments to execute.
          command:
            - /bin/uname
            - -a
          # OnError specifies how Velero should behave if it encounters an error executing this hook  
          onError: Continue
          # Timeout is the amount of time to wait for the hook to complete before considering it failed.
          timeout: 10s
      - exec:
          command:
            - /bin/bash
            - -c
            - echo hello > hello.txt && echo goodbye > goodbye.txt
          container: webcontainer
          onError: Continue
    # PostHooks is a list of BackupResourceHooks to execute after backing up an item.
    postHooks:
      - exec:
          container: webcontainer
          command:
            - /bin/uname
            - -a
          onError: Continue
          timeout: 10s

Восстановление перехватчиков

В скрипте перехватчика восстановления пользовательские команды или скрипты записываются в контейнеры восстановленного модуля AKS pod.

Ниже приведен шаблон YAML для развертывания пользовательского ресурса с помощью перехватчиков восстановления:

apiVersion: clusterbackup.dataprotection.microsoft.com/v1alpha1
kind: RestoreHook
metadata:
  name: restorehookname0
  namespace: default
spec:
  # RestoreHook is a list of hooks to execute after restoring a resource.
  restoreHook:
    # Name is the name of this hook.
  - name: myhook-1  
    # Restored Namespaces where this hook will be executed.
    includedNamespaces: 
    excludedNamespaces:
    labelSelector:
    # PostHooks is a list of RestoreResourceHooks to execute during and after restoring a resource.
    postHooks:
      - exec:
          # Container is the container in the pod where the command should be executed.
          container: webcontainer
          # Command is the command and arguments to execute from within a container after a pod has been restored.
          command:
            - /bin/bash
            - -c
            - echo hello > hello.txt && echo goodbye > goodbye.txt
          # OnError specifies how Velero should behave if it encounters an error executing this hook
          # default value is Continue
          onError: Continue
          # Timeout is the amount of time to wait for the hook to complete before considering it failed.
          execTimeout: 30s
          # WaitTimeout defines the maximum amount of time Velero should wait for the container to be ready before attempting to run the command.
          waitTimeout: 5m

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

Какой уровень хранилища резервных копий поддерживает резервное копирование AKS?

Azure Backup для AKS поддерживает два уровня хранилища в качестве хранилищ резервных копий:

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

  • Стандартный уровень хранилища (предварительная версия): для хранения резервных копий данных в течение более длительной длительности, чем моментальные снимки, резервное копирование AKS поддерживает хранилище данных хранилища уровня "Стандартный". Согласно правилам хранения, заданным в политике резервного копирования, первое успешное резервное копирование (дня, недели, месяца или года) перемещается в контейнер БОЛЬШИХ двоичных объектов за пределами клиента. Это хранилище данных не только обеспечивает более длительное хранение, но и обеспечивает защиту от программ-шантажистов. Вы также можете переместить резервные копии, хранящиеся в хранилище, в другой регион (парный регион Azure), чтобы восстановить геоизбыточное расположение и восстановление между регионами в хранилище резервных копий.

Примечание.

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

Общие сведения о ценах

Вы несете плату за:

  • Плата за защищенный экземпляр: Azure Backup для AKS взимает плату за защищенное пространство имен в месяц. При настройке резервного копирования для кластера AKS создается защищенный экземпляр. Каждый экземпляр имеет определенное количество пространств имен, резервных копий которых выполняется в конфигурации резервного копирования. Дополнительные сведения о ценах на резервное копирование AKS см. в разделе "Цены на облачное резервное копирование" и выбор Служба Azure Kubernetes в качестве рабочей нагрузки

  • Плата за моментальный снимок: Azure Backup для AKS защищает постоянный том на основе диска, принимая моментальные снимки, хранящиеся в группе ресурсов в подписке Azure. Эти моментальные снимки несут расходы на хранение моментальных снимков. Так как моментальные снимки не копируются в хранилище резервных копий, стоимость хранения резервных копий не применяется. Дополнительные сведения о ценах на моментальный снимок см. в разделе "Цены на управляемый диск".

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