Восстановление состояния кластеров Kubernetes после аварии
Область применения: AKS в Azure Stack HCI 22H2, AKS на Windows Server
В AKS в Azure Local или Windows Server кластер управления развертывается как отдельная виртуальная машина (виртуальная машина) для каждого развертывания, что делает его одной точкой сбоя. Важно отметить, что сбой кластера управления не влияет на приложения, работающие в кластерах рабочих нагрузок. Если виртуальная машина кластера управления завершается сбоем, кластеры рабочей нагрузки (и рабочие нагрузки) продолжают работать, но не удается выполнить операции с днем 2. Например, нельзя создавать кластеры рабочих нагрузок, создавать или масштабировать пул узлов или обновлять версии Kubernetes, пока виртуальная машина не будет восстановлена.
Кластер управления — это виртуальная машина, отслеживаемая в отказоустойчивом кластере Windows. Она также устойчива к сбоям на уровне узла. Другими словами, во время сбоя хост-компьютера отказоустойчивая кластеризация Windows перезапускает виртуальную машину на работоспособном компьютере узла. В этой статье приводятся рекомендации по выполнению следующих задач:
- Восстановите состояние AKS на новом оборудовании (может быть новым сайтом).
- Восстановление после повреждения кластера управления.
В любом из этих сценариев необходимо повторно создать кластер управления и все кластеры рабочей нагрузки.
Восстановление состояния AKS на новом оборудовании или новом сайте
Для восстановления состояния кластеров Kubernetes требуется наличие кластера управления на новом оборудовании или в новом расположении.
- AKS поддерживает резервное копирование кластеров Kubernetes в Хранилище BLOB-объектов Azure и MinIO с помощью Velero. Корпорация Майкрософт рекомендует создать резервную копию служба хранилища Azure, так как она предоставляет 3 избыточных копии данных в основном регионе хранилища.
- Рассмотрите возможность запуска резервного копирования в задании cron, чтобы обеспечить наличие резервных копий в соответствии с целями точки восстановления.
Необходимые компоненты
Подготовьте холодный резерв заранее к аварии, создав кластер управления и пустой кластер рабочей нагрузки. Вам нужен пустой кластер рабочей нагрузки для каждого кластера Kubernetes, который требуется восстановить из резервной копии. Ниже перечислены необходимые компоненты.
- Настройка и кластеризация физических компьютеров узла.
- Настройте требуемое хранилище:
- Для SMB: используйте драйверы файлов интерфейса хранилища контейнеров (CSI).
- Для локального хранилища: используйте драйверы дисков интерфейса хранилища контейнеров (CSI).
- Резервные копии кластера рабочей нагрузки доступны: резервное копирование, восстановление кластеров рабочих нагрузок с помощью Velero.
- Кластер управления AKS устанавливается на новом оборудовании или вы можете установить новый кластер управления на новом оборудовании, выполнив шаги 1-5 этой статьи: используйте PowerShell для настройки Kubernetes в локальных кластерах Azure.
- Для восстановления резервных копий требуется пустой кластер рабочей нагрузки. См. сведения о резервном копировании, восстановлении кластеров рабочих нагрузок с помощью Velero.
Восстановление после повреждения кластера управления
Восстановление из повреждения кластера управления требует удаления AKS и переустановки кластера управления и всех кластеров рабочей нагрузки. Кластеры рабочей нагрузки можно восстановить в пустые кластеры рабочих нагрузок из резервных копий Velero.
Ниже перечислены необходимые компоненты.
- Резервные копии кластера рабочей нагрузки: резервное копирование, восстановление кластеров рабочих нагрузок с помощью Velero.
- Резервное копирование конфигурации AKS для предыдущих параметров сети, хранилища и кластера. Параметры кластера включают размеры и количество уровней управления, подсистемы балансировки нагрузки и виртуальных машин рабочего узла. Например, если в старом кластере было 3 Standard_A2_V2 виртуальных машин плоскости управления, необходимо создать 3 виртуальных машины уровня управления в новой среде.
Чтобы восстановиться после повреждения кластера управления, выполните следующие действия.
- Удаление AKS: Uninstall-AksHci.
- Установите новый кластер управления AKS с помощью шагов 1-5 этой статьи: используйте PowerShell для настройки Kubernetes в кластерах AKS.
- Создайте кластер рабочей нагрузки с необходимыми пулами узлов с помощью шага 6 в этой статье. Вам нужен отдельный кластер рабочей нагрузки для каждого кластера рабочей нагрузки, который вы восстанавливаете из резервной копии.
- Вы можете настроить несколько виртуальных машин уровня управления и виртуальных машин подсистемы балансировки нагрузки во время создания кластера рабочей нагрузки с помощью этой статьи: New-AksHciCluster для AKS.
- Настройте требуемое хранилище:
- Для SMB: используйте драйверы файлов интерфейса хранилища контейнеров (CSI).
- Для локального хранилища: используйте драйверы дисков интерфейса хранилища контейнеров (CSI).
- Восстановите все кластеры рабочих нагрузок из резервной копии.
Вопросы и ответы
Какая устойчивость встроена в кластер управления?
Каждое развертывание AKS включает кластер управления, который является отдельной виртуальной машиной. Для обеспечения устойчивости и высокой доступности AKS использует отказоустойчивую кластеризацию windows для восстановления виртуальной машины при возникновении сбоя.
Сбой кластера управления не влияет на приложения, работающие в кластерах рабочей нагрузки. При отключении виртуальной машины кластера управления это влияет на возможность выполнения операций AKS Day 2, таких как создание кластеров рабочих нагрузок, создание пулов узлов или масштабирование пулов узлов, обновление версий Kubernetes и т. д., пока виртуальная машина не будет восстановлена. В случаях, когда не удается восстановиться после сбоя кластера управления, рекомендуется связаться с служба поддержки Майкрософт.
Что входит в резервную копию Velero?
Имя файла | Описание контента |
---|---|
*-csi-volumesnapshotclasses.json.gz | Файлы, содержащие CSI , являются моментальными моментальными снимками тома. |
*-csi-volumesnapshotcontents.json.gz | Файлы, содержащие CSI , являются моментальными снимками тома. |
*-csi-volumesnapshots.json.gz | Файлы, содержащие CSI , являются моментальными моментальными снимками тома. |
*-logs.gz | Вывод журнала операции резервного копирования. Те же данные, которые выполняются: velero backup log <backupname> |
*-podvolumebackups.json.gz | Метаданные о модулях pod и постоянных томах. |
*-resource-list.json.gz | Ресурсы, содержащиеся в резервной копии, перечислены в этом файле. |
*-volumesnapshots.json.gz | Метаданные о модулях pod и постоянных томах. |
*.tar.gz | Метаданные: пространство имен, количество реплик pod, память, ЦП. Те же данные, что и возвращенные из: kubectl get deployment |
Что не входит в резервные копии Velero?
Резервная копия Velero не включает следующие элементы:
- Конфигурация кластера управления (AKS)
- Метаданные виртуальной машины уровня управления (сервер API)
- Метаданные подсистемы балансировки нагрузки (прокси-сервер высокого уровня доступности)
- Параметры сети
- Параметры хранилища
Разделы справки резервное копирование конфигурации AKS до аварии?
Чтобы создать резервную копию конфигурации кластера управления, откройте окно PowerShell и выполните следующую команду:
Get-AksHciConfig | ConvertTo-Json
Разделы справки убедитесь, что кластер рабочей нагрузки имеет ту же конфигурацию, что и до аварии?
Чтобы создать резервную копию конфигурации кластера рабочей нагрузки, откройте окно PowerShell и выполните следующую команду:
Get-AksHciCluster -name <cluster name> | ConvertTo-Json