Sdílet prostřednictvím


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:

  1. 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
  1. 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:

  1. 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"}
    
  2. 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:

  1. 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ů.
  2. 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