Резервное копирование и восстановление для AKS
Резервное копирование и восстановление являются неотъемлемой частью стратегии оперативного и аварийного восстановления любой организации. План резервного копирования и восстановления обычно использует разнообразный набор технологий и методик, основанных на принятии периодических копий данных и приложений на отдельное, дополнительное устройство или службу. Если происходит сбой системы, потеря данных или авария, эти копии используются для восстановления данных и приложений, а также бизнес-операций, от которых они зависят.
В этом разделе руководства по операциям Служба Azure Kubernetes (AKS) 2 описаны методики резервного копирования и восстановления ДЛЯ AKS.
Почему резервное копирование кластера AKS важно
По мере роста внедрения облачных развертываний и Kubernetes становится все более важным для организаций, включающих кластеры и рабочие нагрузки Kubernetes в комплексную стратегию резервного копирования и восстановления.
Реализация резервного копирования и восстановления в AKS позволяет:
- Создайте вторичную копию конфигурации и данных из кластера AKS, чтобы использовать необратимую системную ошибку, потерю данных или аварию.
- Скопируйте ресурсы Kubernetes и данные приложения из одного кластера AKS в другой.
- Репликация кластера AKS для создания других сред.
- Перед обновлениями версий AKS сделайте моментальные снимки рабочей нагрузки.
- Соблюдайте требования к защите данных для поддержания соответствия нормативным требованиям или организации.
- Быстрый откат к предыдущему развертыванию, если обнаружена проблема с недавним развертыванием или изменением.
Хотя резервные копии помогают восстановить рабочую нагрузку при возникновении проблемы, они не обеспечивают высокий уровень доступности (HA).
Когда дело доходит до высокого уровня доступности внутри региона и аварийного восстановления между регионами в AKS, можно рассмотреть несколько других вариантов, таких как:
- Зоны доступности: AKS поддерживает использование зон доступности, которые физически разделяют центры обработки данных в регионе Azure. Развернув кластеры AKS в нескольких зонах доступности, вы можете обеспечить более высокую устойчивость и отказоустойчивость в пределах региона. Это позволяет приложениям оставаться в эксплуатации, даже если в одной зоне возникает сбой.
- Параметры избыточности для постоянных томов: AKS предоставляет различные варианты избыточности для постоянных томов. Драйвер CSI дисков Azure для Kubernetes поддерживает встроенные классы хранения и пользовательские классы хранения, использующие локально избыточное хранилище (LRS) или избыточное между зонами хранилище (ZRS) для повышения устойчивости внутри региона. Дополнительные сведения см. в разделе "Параметры драйвера".
- Диспетчер флотов Azure Kubernetes: Диспетчер флота Azure Kubernetes позволяет использовать несколько кластеров и сценариев внутри региона и между регионами для кластеров AKS.
- Параметры геоизбыточности для Реестр контейнеров Azure (ACR): Реестр контейнеров Azure (ACR) предлагает возможности георепликации. При геоизбыточности образы контейнеров реплицируются в разных регионах Azure. Таким образом, даже если в определенном регионе возникает сбой, ваши образы доступны, что обеспечивает более высокую доступность для реестра контейнеров.
Вы также можете использовать такие методологии, как инфраструктура, как код (IaC), Azure Pipelines, GitOps и Flux, чтобы быстро развернуть рабочие нагрузки в случае аварии.
Чтобы узнать больше об этих методологиях, ознакомьтесь со следующими статьями:
- Сборка и развертывание в Службе Azure Kubernetes с помощью Azure Pipelines | Документация Майкрософт.
- Руководство по развертыванию приложений с помощью GitOps с Flux версии 2
- Описание структуры и синтаксиса шаблонов ARM
- Что такое Bicep?
- Обзор Terraform в Azure— что такое Terraform?
Резервная копия
При рассмотрении резервного копирования и восстановления кластеров AKS и Kubernetes в целом важно определить, какие компоненты следует включить в резервную копию, чтобы обеспечить успешное восстановление. В первую очередь эти критически важные компоненты состоят из следующих компонентов:
Состояние кластера: относится к текущей и требуемой конфигурации или состоянию всех объектов Kubernetes в кластере. Он охватывает различные объекты, такие как развертывания, модули pod, службы и многое другое. Состояние кластера хранится в базе данных пар с высоким уровнем доступности и т. д., которая часто доступна только с сервера API, как и в случае управляемых кластеров, таких как AKS. Состояние кластера определяется декларативным образом и является результатом всех файлов конфигурации Kubernetes, применяемых к кластеру, таких как манифесты YAML.
Данные приложения: ссылается на данные, созданные, управляемые или доступные контейнерными рабочими нагрузками, выполняемыми в кластере. Чтобы обеспечить сохраняемость данных в модулях pod или контейнерах, Kubernetes рекомендует хранить данные приложения в постоянных томах. Эти тома можно создавать статически или динамически, и их можно использовать различными типами постоянного хранилища, обеспечивая гибкость и масштабируемость для требований к хранилищу данных и управлению.
Хотя для полной резервной копии кластера требуется включить как состояние кластера, так и данные приложения в виде одной единицы, определение оптимальной области каждой резервной копии зависит от различных факторов. Например, наличие альтернативных источников, таких как конвейеры непрерывной интеграции и непрерывной доставки (CI/CD), могут упростить восстановление состояния кластера. Кроме того, размер данных приложения играет роль в затратах на хранение и время, необходимое для операций резервного копирования и восстановления.
Идеальная стратегия резервного копирования и восстановления зависит от конкретного приложения и среды. Таким образом, область резервного копирования должна оцениваться на основе регистра. Кроме того, следует учитывать такие факторы, как важность состояния кластера и объем данных приложения.
Назначение других компонентов, таких как отдельные узлы кластера (виртуальные машины) или локальные файловые системы и тома, которые обычно включены в традиционные планы резервного копирования и восстановления для серверных систем, не относятся к Kubernetes. Соответствующие состояния и данные не сохраняются на отдельных узлах или локальных файловых системах таким же образом, как и традиционные системы.
Общие сведения о вариантах резервного копирования и восстановления для AKS
Существуют заметные различия между традиционными монолитными приложениями и рабочими нагрузками, работающими в кластере Kubernetes, которые представляют ряд проблем для резервного копирования и восстановления. Рабочие нагрузки Kubernetes намеренно предназначены для обеспечения высокой динамики и распределения данных, сохраняемых во внешних постоянных томах, поддерживаемых несколькими базовыми ресурсами и службами.
Для эффективной поддержки сред Kubernetes решения резервного копирования и восстановления должны обладать kubernetes и осведомленностью о приложениях. Они должны предложить степень автоматизации, надежности и интеграции, которая часто не найдена в устаревших или более обычных средствах резервного копирования и восстановления.
Доступны различные решения для резервного копирования и восстановления kubernetes, начиная от открытого до закрытого источника и предлагая различные модели лицензирования.
Ниже приведены некоторые примеры решений резервного копирования и восстановления, которые можно использовать с AKS. Одним из важных примеров является полностью управляемое решение майкрософт с именем Служба Azure Kubernetes (AKS), которое предоставляет интегрированную в Azure службу для резервного копирования и восстановления кластеров AKS и их рабочих нагрузок. Этот список не является исчерпывающим и предоставляет только несколько доступных вариантов.
Резервное копирование AKS
AkS Backup — это предложение Azure для резервного копирования и восстановления кластеров AKS. Это простой, собственный процесс Azure, который позволяет выполнять резервное копирование и восстановление контейнерных приложений и данных, работающих в кластерах AKS.
Служба архивации AKS позволяет выполнять резервное копирование по запросу или запланированные резервные копии полного или точного состояния кластера и данных приложения, хранящихся в постоянных томах на основе дисков Azure. Она интегрируется с Центром резервного копирования Azure для предоставления единой области в портал Azure, которая может помочь вам управлять, отслеживать, работать и анализировать резервные копии в большом масштабе.
Дополнительные сведения о резервном копировании AKS с помощью Azure Backup см. в подробном описании работы службы архивации AKS и ее возможностей.
Kasten
Kasten — это коммерческий продукт, который предоставляет группам операций простую и безопасную систему для резервного копирования и восстановления приложений Kubernetes. Она доступна как в бесплатной версии с ограниченными возможностями, так и в платной версии, которая включает дополнительные функции и поддержку клиентов.
При развертывании Kasten в качестве оператора Kubernetes в кластере он предоставляет комплексное решение для резервного копирования. Она предлагает панель мониторинга управления для централизованного управления и видимости. Благодаря Kasten пользователи могут воспользоваться добавочными и приложениями резервными копиями, что обеспечивает эффективную защиту данных. Кроме того, Kasten предлагает возможности аварийного восстановления. Эти возможности включают автоматическую отработку отказа и восстановление размещения, а также функции для миграции данных и обеспечения безопасности.
Дополнительные сведения о наборе функций Kasten см. в документации по Kasten K10. Сведения о том, как эффективно использовать Kasten с кластерами AKS, см. в статье Об установке K10 в Azure.
Velero
Velero — это широко используемое средство резервного копирования и восстановления с открытым исходным кодом для Kubernetes. Она предлагает бесплатную и неограниченную версию, доступную для всех пользователей, с поддержкой и обслуживанием, предоставляемым сообществом участников проекта.
Velero выполняется в качестве развертывания в кластере и предоставляет полный набор функций для резервного копирования приложений, восстановления и миграции данных. Хотя панели мониторинга недоступны вне коробки, их можно добавить с помощью внешних интеграции.
Дополнительные сведения о наборе компонентов и о том, как интегрировать его с кластерами AKS, см. в документации по Velero.
Установка и настройка резервного копирования AKS
Чтобы установить и настроить архивацию AKS, выполните следующие действия.
- Дополнительные требования для резервного копирования AKS с помощью Azure Backup см. в подробном описании необходимых компонентов для использования службы архивации AKS с кластером AKS.
- Ознакомьтесь с матрицой поддержки резервного копирования AKS для подробного описания доступности региона AKS Backup, поддерживаемых сценариев и ограничений.
- Сведения о регистрации необходимых поставщиков ресурсов в подписках и управлении ими см. в статье "Управление резервными копиями AKS с помощью Azure Backup ".
- Дополнительные инструкции по настройке резервного копирования и восстановления для кластера AKS с помощью AKS Backup см . в статье "Резервное копирование AKS" с помощью Azure Backup . Инструкции включают создание и настройку всех необходимых ресурсов Azure, таких как хранилище резервных копий, политики резервного копирования и экземпляры резервного копирования.
- Подробные инструкции по выполнению полного или элементного восстановления кластера AKS из существующего экземпляра резервного копирования см. в статье "Восстановление AKS с помощью Azure Backup ".
Частота резервного копирования и хранение в AKS: определение политики резервного копирования
Определение частоты резервного копирования и периода хранения является основным аспектом решений резервного копирования и восстановления. Эти параметры определяют частоту выполнения резервных копий и сколько времени они сохраняются перед удалением. Выбор частоты резервного копирования и периода хранения для кластера AKS и ее рабочих нагрузок должен соответствовать предопределенным целям целевой точки восстановления (RPO) и целевой цели времени восстановления (RTO).
В сценарии Kubernetes RPO представляет максимально допустимое количество состояния кластера или потери данных, которые могут быть разрешены. RTO указывает максимально допустимое время между состоянием кластера или потерей данных и возобновлением операций кластера.
Выбранная частота резервного копирования и период хранения являются компромиссом между желательными целевыми объектами RPO/RTO, затратами на хранение и затратами на управление резервными копиями. Это означает, что для всех кластеров и рабочих нагрузок AKS нет единого размера, а оптимальная конфигурация для каждого кластера или рабочей нагрузки должна быть определена на основе регистра в соответствии с требованиями бизнеса, следуя тщательному планированию и рассмотрению. Важные факторы, которые следует учитывать при определении частоты резервного копирования кластера AKS и периода хранения:
- Критичность: уровень критическости, связанный с кластером и данными приложения рабочей нагрузки с точки зрения непрерывности бизнес-процессов.
- Шаблоны доступа и скорость изменений: объем состояния кластера и данных, которые добавляются, изменяются, удаляются за заданный период времени.
- Объем данных: объем данных, влияющих на затраты на хранилище, и время, необходимое для завершения операций резервного копирования и восстановления.
- Соответствие требованиям: требования к хранению данных и суверенитету данных на основе внутренних правил соответствия и отраслевых нормативных требований.
В службе резервного копирования AKS частота резервного копирования и период хранения хранятся как ресурс политики резервного копирования, который применяется как к состоянию кластера, так и к данным приложения из постоянных томов.
Политики резервного копирования в AKS поддерживают ежедневные и почасовые резервные копии с периодами хранения до 360 дней, а несколько политик можно определить и применить к одному кластеру.
Дополнительные сведения о настройке политик резервного копирования в AKS Backup см. в статье "Создание политики резервного копирования".
Другие рекомендации по резервному копированию
Чтобы убедиться, что ваше решение резервного копирования и восстановления соответствует требованиям и политикам вашей организации, рассмотрите следующие моменты:
- Целевая точка восстановления (RPO) и целевое время восстановления (RTO): определите, есть ли у вас определенные целевые объекты RPO и RTO, которые необходимо выполнить для операций резервного копирования и восстановления.
- Постоянные тома (PVs): проверьте, используете ли вы постоянные тома и убедитесь, что решение резервного копирования AKS поддерживает типы PV. Сведения о совместимости см. в матрице поддержки резервного копирования AKS.
- Область резервного копирования. Определите, что необходимо создать резервную копию, например определенные пространства имен, типы ресурсов или определенные данные в кластере. Дополнительные сведения см. в разделе "Настройка задания резервного копирования".
- Частота резервного копирования и хранение. Определите частоту выполнения резервных копий и продолжительность хранения. Этот параметр можно настроить с помощью политик резервного копирования. Дополнительные сведения см. в разделе "Определение политики резервного копирования".
- Выбор кластера. Определите, нужно ли выполнять резервное копирование всех кластеров или только конкретных рабочих кластеров в соответствии с вашими требованиями.
- Процедура восстановления теста: периодические проверки восстановления для проверки надежности и удобства использования стратегии резервного копирования. Этот шаг имеет решающее значение для обеспечения эффективности решения резервного копирования и восстановления. Дополнительные сведения см. в разделе "Восстановление кластера AKS".
- Поддерживаемые сценарии. Убедитесь, что решение резервного копирования AKS поддерживает конкретный сценарий. Сведения о совместимости см. в матрице поддержки резервного копирования AKS.
- Распределение бюджета. Рассмотрите, есть ли у вас конкретные бюджетные выделения для операций резервного копирования и восстановления. Просмотрите сведения о ценах , предоставляемые решением службы архивации AKS, чтобы соответствовать вашим бюджетным требованиям.
Учитывая эти другие рекомендации, вы можете убедиться, что ваше решение резервного копирования и восстановления для AKS соответствует потребностям и предпочтениям вашей организации эффективно и эффективно.
Расположение резервного копирования и хранилище AKS
Служба архивации AKS использует хранилище резервных копий и учетную запись хранения для хранения различных типов данных, захваченных из кластера во время резервной копии.
Для постоянных томов на основе дисков akS Backup использует добавочные моментальные снимки базового диска Azure, которые хранятся в подписке Azure.
Хранилище резервных копий — это безопасная сущность хранения в Azure, которая используется для хранения резервных копий для рабочих нагрузок, поддерживаемых Azure Backup, таких как кластеры AKS. Хранилище резервных копий содержит как политики резервного копирования, так и резервные копии и точки восстановления, созданные заданиями резервного копирования.
Azure автоматически управляет хранилищем для Резервного хранилища. Вы можете выбрать несколько вариантов избыточности для данных, хранящихся в нем, которые можно настроить в момент создания Backup Vault.
Учетная запись хранения — это область хранения для объектов данных в Azure и очень настраиваемая. Он предоставляет несколько вариантов избыточности между регионами и между регионами, чтобы обеспечить устойчивость данных. Служба архивации AKS использует контейнер BLOB-объектов в указанной учетной записи хранения для создания резервных копий некоторых компонентов кластера AKS.
Добавочные моментальные снимки — это резервные копии на определенный момент времени для управляемых дисков, которые при выполнении состоят только из изменений с момента последнего моментального снимка. Первый добавочный моментальный снимок содержит полную копию диска. Последующие добавочные моментальные снимки записывают только разностные изменения на диски с момента последнего моментального снимка.
Использование службы архивации AKS для переноса рабочих нагрузок между кластерами AKS
Резервное копирование AKS можно использовать в качестве механизма резервного копирования и восстановления для определенных кластеров. AkS Backup также поддерживает сценарии миграции, позволяя выполнять резервное копирование из одного кластера и восстанавливать его в другой, например:
- Восстановление кластера разработки в промежуточном кластере
- Репликация содержимого в нескольких кластерах
Чтобы убедиться, что ваш сценарий поддерживается, ознакомьтесь со следующей документацией:
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Автор субъекта:
- Адам Шариф | Технический помощник
- Joao Tavares | Старший инженер по эскалации
Другие участники:
- Паоло Сальватори | Главный инженер клиента, FastTrack для Azure
- Соня Куфф | Ведущий ведущий адвокат по облачным технологиям
Следующие шаги
Дополнительные сведения об резервном копировании AKS
- Обзор резервного копирования AKS
- Матрица поддержки резервного копирования AKS
- Предварительные требования к резервному копированию AKS
- Настройка резервного копирования AKS
- Создание хранилища резервных копий
- Создание политики резервного копирования
- Настройка резервных копий
- Восстановление кластера AKS
- Рекомендации по непрерывности бизнес-процессов и аварийному восстановлению для AKS
- Шаблоны надежности — шаблоны облачного проектирования