Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается, как восстановить кластер Azure Kubernetes из точки восстановления, созданной Azure Backup с помощью Azure PowerShell.
Azure Backup поддерживает резервное копирование кластеров AKS, включая ресурсы кластера и подключенные постоянные тома, используя расширение резервного копирования. Это расширение должно быть установлено в кластере, что позволяет Backup Vault взаимодействовать с ним для выполнения операций резервного копирования и восстановления.
Восстановление исходного расположения (OLR) можно выполнить в одном кластере AKS или альтернативном расположении восстановления (ALR) в другом кластере AKS. Восстановление на уровне элементов (ILR) позволяет выбрать определенные элементы для восстановления из резервной копии.
Примечание.
Перед началом операции восстановления убедитесь, что в целевом кластере установлено расширение резервного копирования и включен доверенный доступ для хранилища резервных копий. Подробнее.
Необходимые компоненты
Перед восстановлением кластера AKS убедитесь, что выполнены следующие предварительные требования:
Резервное копирование AKS позволяет восстановить исходный кластер AKS (который был создан) и в альтернативный кластер AKS. Резервное копирование AKS позволяет выполнять полное восстановление и восстановление на уровне элементов. Конфигурации восстановления можно использовать для определения параметров на основе ресурсов кластера для восстановления.
Необходимо установить расширение резервного копирования в целевом кластере AKS. Кроме того, необходимо включить доверенный доступ между хранилищем резервного копирования и кластером AKS.
Дополнительные сведения об ограничениях и поддерживаемых сценариях см. в матрице поддержки.
Инициализация переменных для команд ресурсов для восстановления кластера AKS
Здесь укажите необходимые сведения для каждого ресурса, используемого в командах.
Идентификатор подписки в Хранилище резервных копий
$vaultSubId = "xxxxxxxx-xxxx-xxxx-xxxx"Группа ресурсов, к которой принадлежит Backup Vault
$vaultRgName = "testBkpVaultRG"Имя хранилища резервных копий
$vaultName = "TestBkpVault"Регион, к которому принадлежит Хранилище резервных копий
$restoreLocation = "vaultRegion" #example eastusИдентификатор целевого кластера AKS, если восстановление выполняется в альтернативном кластере AKS
$targetAKSClusterId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/targetrg/providers/Microsoft.ContainerService/managedClusters/PSAKSCluster2"
Восстановление в кластер AKS
Получение соответствующей точки восстановления
Чтобы получить соответствующие точки восстановления, выполните следующие командлеты:
Извлеките все экземпляры с помощью командлета
Get-AzDataProtectionBackupInstanceи определите соответствующий экземпляр.$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName $vaultRgName -VaultName $vaultName
Для поиска между экземплярами в нескольких хранилищах и подписках используйте Az.Resourcegraph и Search-AzDataProtectionBackupInstanceInAzGraph командлеты.
$AllInstances = Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $vaultSubId -ResourceGroup $vaultRgName -Vault $vaultName -DatasourceType AzureKubernetesService -ProtectionStatus ProtectionConfigured
После обнаружения экземпляра получите соответствующую точку восстановления. Из выходного массива данного командлета необходимо восстановить третий экземпляр резервного копирования.
$rp = Get-AzDataProtectionRecoveryPoint -ResourceGroupName $vaultRgName -VaultName $vaultName -BackupInstanceName $AllInstances[2].BackupInstanceName
Подготовка запроса на восстановление
Чтобы подготовить запрос на восстановление, выполните следующие командлеты:
Подготовьте конфигурацию восстановления и определите элементы, которые будут восстановлены в целевом кластере AKS с помощью командлета
New-AzDataProtectionRestoreConfigurationClientObject.$aksRestoreCriteria = New-AzDataProtectionRestoreConfigurationClientObject -DatasourceType AzureKubernetesService -PersistentVolumeRestoreMode RestoreWithVolumeData -IncludeClusterScopeResource $true -NamespaceMapping @{"sourceNamespace"="targetNamespace"}Подготовьте запрос восстановления со всеми соответствующими сведениями с помощью командлета
Initialize-AzDataProtectionRestoreRequest.Для восстановления в исходном кластере AKS используйте следующий формат командлета:
$aksRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation $restoreLocation -RestoreType OriginalLocation -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $AllInstances[2]Для восстановления в альтернативный кластер AKS используйте следующий формат командлета:
$aksRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation $restoreLocation -RestoreType AlternateLocation -TargetResourceId $targetAKSClusterId -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $AllInstances[2]
Активация восстановления для кластера AKS
Чтобы активировать операцию восстановления, выполните следующие командлеты:
Проверьте созданный ранее запрос на восстановление.
$validateRestore = Test-AzDataProtectionBackupInstanceRestore -SubscriptionId $vaultSubId -ResourceGroupName $vaultRgName -VaultName $vaultName -RestoreRequest $aksRestoreRequest -Name $AllInstances[2].BackupInstanceNameПримечание.
Во время операции восстановления хранилище резервных копий и кластер AKS должны иметь определенные роли, назначенные для выполнения восстановления:
- Целевой кластер AKS должен иметь роль участника в группе ресурсов моментальных снимков.
- Удостоверение пользователя, подключенное к расширению резервного копирования, должно иметь роли участника учетной записи хранения в учетной записи хранения, в которой хранятся резервные копии.
- Хранилище резервных копий должно иметь роль читателя в целевом кластере AKS и группе ресурсов моментальных снимков.
Чтобы активировать операцию восстановления с запросом, подготовленным ранее, с помощью командлета
Start-AzDataProtectionBackupInstanceRestore.$restoreJob = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId $vaultSubId -ResourceGroupName $vaultRgName -VaultName $vaultName -BackupInstanceName $AllInstances[2].BackupInstanceName -Parameter $aksRestoreRequest
Отслеживание задания восстановления для кластера AKS
Отслеживайте все задания с помощью командлета Get-AzDataProtectionJob . Можно вывести список всех заданий и получить сведения о конкретном задании. Кроме того, используйте Az.ResourceGraph для отслеживания заданий во всех хранилищах резервных копий.
Чтобы получить соответствующее задание в любом хранилище резервных копий, используйте Search-AzDataProtectionJobInAzGraph командлет.
$job = Search-AzDataProtectionJobInAzGraph -Subscription -SubscriptionId $vaultSubId -ResourceGroup $vaultRgName -Vault $vaultName -DatasourceType AzureKubernetesService -Operation Restore
Следующие шаги
- Управление резервными копиями кластера Служба Azure Kubernetes.
- обзор резервного копирования кластера Служба Azure Kubernetes.