Obnovení služby Azure Kubernetes Service pomocí PowerShellu
Tento článek popisuje, jak obnovit cluster Azure Kubernetes z bodu obnovení vytvořeného službou Azure Backup pomocí Azure PowerShellu.
Azure Backup podporuje zálohování clusterů AKS, včetně prostředků clusteru a připojených trvalých svazků, pomocí rozšíření zálohování. Toto rozšíření musí být nainstalované v clusteru, což službě Backup Vault umožňuje komunikovat s ním za účelem provádění operací zálohování a obnovení.
Obnovení původního umístění (OLR) můžete provést ve stejném clusteru AKS nebo obnovení alternativního umístění (ALR) v jiném clusteru AKS. Obnovení na úrovni položek (ILR) umožňuje vybrat konkrétní položky, které se mají obnovit ze zálohy.
Poznámka:
Než zahájíte operaci obnovení, ujistěte se, že má cílový cluster nainstalované rozšíření zálohování a povolený důvěryhodný přístup pro trezor záloh. Další informace.
Požadavky
Před obnovením clusteru AKS se ujistěte, že splňujete následující požadavky:
Zálohování AKS umožňuje obnovit původní cluster AKS (zálohovaný) a do alternativního clusteru AKS. Zálohování AKS umožňuje provést úplné obnovení a obnovení na úrovni položek. Konfigurace obnovení můžete využít k definování parametrů na základě prostředků clusteru pro obnovení.
Rozšíření zálohování musíte nainstalovat do cílového clusteru AKS. Musíte také povolit důvěryhodný přístup mezi trezorem služby Backup a clusterem AKS.
Další informace o omezeních a podporovaných scénářích najdete v matici podpory.
Inicializace proměnných pro příkazy prostředků
Tady zadejte potřebné podrobnosti pro každý prostředek, který se má použít ve vašich příkazech.
ID předplatného trezoru služby Backup
$vaultSubId = "xxxxxxxx-xxxx-xxxx-xxxx"
Skupina prostředků, do které trezor služby Backup patří
$vaultRgName = "testBkpVaultRG"
Název trezoru služby Backup
$vaultName = "TestBkpVault"
Oblast, do které trezor služby Backup patří
$restoreLocation = "vaultRegion" #example eastus
ID cílového clusteru AKS v případě, že se obnovení provádí do alternativního clusteru AKS
$targetAKSClusterId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/targetrg/providers/Microsoft.ContainerService/managedClusters/PSAKSCluster2"
Obnovení do clusteru AKS
Načtení příslušného bodu obnovení
Pokud chcete načíst relevantní body obnovení, spusťte následující rutiny:
Načtěte všechny instance pomocí rutiny
Get-AzDataProtectionBackupInstance
a identifikujte příslušnou instanci.$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName $vaultRgName -VaultName $vaultName
Pokud chcete vyhledávat napříč instancemi v několika trezorech a předplatných, použijte Az.Resourcegraph
a Search-AzDataProtectionBackupInstanceInAzGraph
rutiny.
$AllInstances = Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $vaultSubId -ResourceGroup $vaultRgName -Vault $vaultName -DatasourceType AzureKubernetesService -ProtectionStatus ProtectionConfigured
Jakmile je instance identifikovaná, načtěte příslušný bod obnovení. Z výstupního pole dané rutiny se má obnovit třetí instance zálohování.
$rp = Get-AzDataProtectionRecoveryPoint -ResourceGroupName $vaultRgName -VaultName $vaultName -BackupInstanceName $AllInstances[2].BackupInstanceName
Příprava žádosti o obnovení
Pokud chcete připravit žádost o obnovení, spusťte následující rutiny:
Připravte konfiguraci obnovení a definujte položky, které se mají obnovit do cílového clusteru AKS pomocí rutiny
New-AzDataProtectionRestoreConfigurationClientObject
.$aksRestoreCriteria = New-AzDataProtectionRestoreConfigurationClientObject -DatasourceType AzureKubernetesService -PersistentVolumeRestoreMode RestoreWithVolumeData -IncludeClusterScopeResource $true -NamespaceMapping @{"sourceNamespace"="targetNamespace"}
Pomocí rutiny připravte žádost o obnovení se všemi relevantními podrobnostmi
Initialize-AzDataProtectionRestoreRequest
.K obnovení do původního clusteru AKS použijte následující formát rutiny:
$aksRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation $restoreLocation -RestoreType OriginalLocation -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $AllInstances[2]
K obnovení do alternativního clusteru AKS použijte následující formát rutiny:
$aksRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation $restoreLocation -RestoreType AlternateLocation -TargetResourceId $targetAKSClusterId -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $AllInstances[2]
Aktivace obnovení
Pokud chcete aktivovat operaci obnovení, spusťte následující rutiny:
Ověřte dříve vytvořenou žádost o obnovení.
$validateRestore = Test-AzDataProtectionBackupInstanceRestore -SubscriptionId $vaultSubId -ResourceGroupName $vaultRgName -VaultName $vaultName -RestoreRequest $aksRestoreRequest -Name $AllInstances[2].BackupInstanceName
Poznámka:
Během operace obnovení musí mít trezor služby Backup a cluster AKS přiřazené určité role k provedení obnovení:
- Cílový cluster AKS by měl mít roli Přispěvatel ve skupině prostředků snímku.
- Identita uživatele připojená k rozšíření zálohování by měla mít role Přispěvatel účtu úložiště v účtu úložiště, kde jsou uložené zálohy.
- Trezor služby Backup by měl mít roli Čtenář v cílovém clusteru AKS a skupině prostředků snímků.
Pokud chcete aktivovat operaci obnovení pomocí požadavku připraveného dříve pomocí rutiny
Start-AzDataProtectionBackupInstanceRestore
.$restoreJob = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId $vaultSubId -ResourceGroupName $vaultRgName -VaultName $vaultName -BackupInstanceName $AllInstances[2].BackupInstanceName -Parameter $aksRestoreRequest
Sledování úlohy obnovení
Pomocí rutiny Get-AzDataProtectionJob
můžete sledovat všechny úlohy. Můžete zobrazit seznam všech úloh a načíst konkrétní podrobnosti úlohy. Alternativně můžete ke sledování úloh napříč všemi trezory služby Backup použít Az.ResourceGraph.
K získání relevantní úlohy napříč jakýmkoli trezorem služby Backup použijte rutinu Search-AzDataProtectionJobInAzGraph
.
$job = Search-AzDataProtectionJobInAzGraph -Subscription -SubscriptionId $vaultSubId -ResourceGroup $vaultRgName -Vault $vaultName -DatasourceType AzureKubernetesService -Operation Restore
Další kroky
- Správa záloh clusteru Azure Kubernetes Service
- Přehled zálohování clusteru Azure Kubernetes Service