Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln beskrivs hur du återställer Azure Kubernetes-kluster från en återställningspunkt som skapats av Azure Backup med Azure PowerShell.
Azure Backup stöder säkerhetskopiering av AKS-kluster, inklusive klusterresurser och anslutna beständiga volymer, med hjälp av ett säkerhetskopieringstillägg. Det här tillägget måste installeras i klustret, vilket gör att Backup Vault kan kommunicera med det för att utföra säkerhetskopierings- och återställningsåtgärder.
Du kan utföra Original-Location Recovery (OLR) i samma AKS-kluster eller Alternate-Location Recovery (ALR) i ett annat AKS-kluster. Med återställning på objektnivå (ILR) kan du välja specifika objekt som ska återställas från säkerhetskopian.
Anteckning
Innan du påbörjar en återställningsåtgärd kontrollerar du att målklustret har säkerhetskopieringstillägget installerat och betrodd åtkomst aktiverat för säkerhetskopieringsvalvet. Läs mer.
Förutsättningar
Innan du återställer ett AKS-kluster kontrollerar du att du uppfyller följande krav:
Med AKS-säkerhetskopiering kan du återställa till det ursprungliga AKS-klustret (som säkerhetskopierades) och till ett alternativt AKS-kluster. Med AKS-säkerhetskopiering kan du utföra en fullständig återställning och återställning på objektnivå. Du kan använda återställningskonfigurationer för att definiera parametrar baserat på klusterresurserna för återställning.
Du måste installera säkerhetskopieringstillägget i AKS-målklustret. Du måste också aktivera betrodd åtkomst mellan Backup-valvet och AKS-klustret.
Mer information om begränsningar och scenarier som stöds finns i supportmatrisen.
Initiera variabler för resurskommandon
Här anger du nödvändig information för varje resurs som ska användas i dina kommandon.
Prenumerations-ID för Säkerhetskopieringsvalvet
$vaultSubId = "xxxxxxxx-xxxx-xxxx-xxxx"Resursgrupp som Backup Vault tillhör
$vaultRgName = "testBkpVaultRG"Namnet på säkerhetskopieringsvalvet
$vaultName = "TestBkpVault"Region som Backup Vault tillhör
$restoreLocation = "vaultRegion" #example eastusID för AKS-målklustret, om återställningen sker till ett alternativt AKS-kluster
$targetAKSClusterId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/targetrg/providers/Microsoft.ContainerService/managedClusters/PSAKSCluster2"
Återställa till ett AKS-kluster
Hämta relevant återställningspunkt
Kör följande cmdletar för att hämta relevanta återställningspunkter:
Hämta alla instanser med hjälp av cmdleten
Get-AzDataProtectionBackupInstanceoch identifiera relevant instans.$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName $vaultRgName -VaultName $vaultName
För att söka mellan instanser i flera valv och prenumerationer, använd Az.Resourcegraph och Search-AzDataProtectionBackupInstanceInAzGraph cmdletar.
$AllInstances = Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $vaultSubId -ResourceGroup $vaultRgName -Vault $vaultName -DatasourceType AzureKubernetesService -ProtectionStatus ProtectionConfigured
När instansen har identifierats ska du hämta den relevanta återställningspunkten. Från utdatamatrisen för den angivna cmdleten ska den tredje säkerhetskopieringsinstansen återställas.
$rp = Get-AzDataProtectionRecoveryPoint -ResourceGroupName $vaultRgName -VaultName $vaultName -BackupInstanceName $AllInstances[2].BackupInstanceName
Förbereda återställningsbegäran
Kör följande cmdletar för att förbereda återställningsbegäran:
Förbered återställningskonfigurationen och definiera de objekt som ska återställas till AKS-målklustret med hjälp av cmdleten
New-AzDataProtectionRestoreConfigurationClientObject.$aksRestoreCriteria = New-AzDataProtectionRestoreConfigurationClientObject -DatasourceType AzureKubernetesService -PersistentVolumeRestoreMode RestoreWithVolumeData -IncludeClusterScopeResource $true -NamespaceMapping @{"sourceNamespace"="targetNamespace"}Förbered återställningsbegäran med all relevant information med hjälp av cmdleten
Initialize-AzDataProtectionRestoreRequest.Använd följande cmdlet-format för att återställa till det ursprungliga AKS-klustret:
$aksRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation $restoreLocation -RestoreType OriginalLocation -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $AllInstances[2]Använd följande cmdlet-format för att återställa till ett alternativt AKS-kluster:
$aksRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation $restoreLocation -RestoreType AlternateLocation -TargetResourceId $targetAKSClusterId -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $AllInstances[2]
Utlös återställningen
Kör följande cmdletar för att utlösa återställningsåtgärden:
Verifiera återställningsbegäran som skapades tidigare.
$validateRestore = Test-AzDataProtectionBackupInstanceRestore -SubscriptionId $vaultSubId -ResourceGroupName $vaultRgName -VaultName $vaultName -RestoreRequest $aksRestoreRequest -Name $AllInstances[2].BackupInstanceNameKommentar
Under återställningsåtgärden måste säkerhetskopieringsvalvet och AKS-klustret ha vissa roller tilldelade för att utföra återställningen:
- AKS-målklustret ska ha rollen Bidragsgivare i resursgruppen för ögonblicksbilder.
- Användaridentiteten som är kopplad till säkerhetskopieringstillägget ska ha rollen Lagringskontodeltagare på det lagringskonto där säkerhetskopior lagras.
- Säkerhetskopieringsvalvet bör ha en läsarroll i AKS-målklustret och resursgruppen för ögonblicksbilder.
Så här utlöser du återställningsåtgärden med den begäran som förbereddes tidigare med hjälp av cmdleten
Start-AzDataProtectionBackupInstanceRestore.$restoreJob = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId $vaultSubId -ResourceGroupName $vaultRgName -VaultName $vaultName -BackupInstanceName $AllInstances[2].BackupInstanceName -Parameter $aksRestoreRequest
Spåra återställningsjobbet
Spåra alla jobb med hjälp av cmdleten Get-AzDataProtectionJob . Du kan visa en lista över alla jobb och hämta en viss jobbinformation. Du kan också använda Az.ResourceGraph för att spåra jobb i alla säkerhetskopieringsvalv.
Använd cmdleten Search-AzDataProtectionJobInAzGraph för att hämta relevant uppgift i alla Backup-valv.
$job = Search-AzDataProtectionJobInAzGraph -Subscription -SubscriptionId $vaultSubId -ResourceGroup $vaultRgName -Vault $vaultName -DatasourceType AzureKubernetesService -Operation Restore
Nästa steg
- Hantering av säkerhetskopieringar av Azure Kubernetes Service-kluster.
- Översikt över säkerhetskopiering av Azure Kubernetes Service-kluster.