Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird beschrieben, wie Sie Azure Kubernetes-Cluster aus einem von Azure Backup erstellten Wiederherstellungspunkt mit Azure PowerShell wiederherstellen.
Azure Backup unterstützt das Sichern von AKS-Clustern, einschließlich Clusterressourcen und angefügter persistenter Volumes, über eine Sicherungserweiterung. Diese Erweiterung muss im Cluster installiert werden, damit der Backup-Tresor mit ihr kommunizieren kann, um Sicherungs- und Wiederherstellungsvorgänge durchzuführen.
Sie können eine Wiederherstellung am ursprünglichen Speicherort (Original-Location Recovery, OLR) im selben AKS-Cluster oder eine Wiederherstellung des alternativen Speicherorts (Alternate-Location Recovery, ALR) in einem anderen AKS-Cluster durchführen. Mit der Wiederherstellung auf Elementebene (Item-Level Recovery, ILR) können Sie bestimmte Elemente auswählen, die aus der Sicherung wiederhergestellt werden sollen.
Hinweis
Stellen Sie vor dem Initiieren eines Wiederherstellungsvorgangs sicher, dass im Zielcluster die Sicherungserweiterung installiert und der vertrauenswürdige Zugriff für den Sicherungstresor aktiviert ist. Weitere Informationen
Voraussetzungen
Bevor Sie einen AKS-Cluster wiederherstellen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen:
Die AKS-Sicherung ermöglicht die Wiederherstellung auf den ursprünglichen AKS-Cluster (der gesichert wurde) und auf einen alternativen AKS-Cluster. Mit AKS Backup können Sie eine vollständige Wiederherstellung sowie eine Wiederherstellung auf Elementebene durchführen. Sie können Wiederherstellungskonfigurationen verwenden, um Parameter basierend auf den Clusterressourcen für die Wiederherstellung zu definieren.
Sie müssen die Sicherungserweiterung im AKS-Zielcluster installieren. Außerdem müssen Sie den vertrauenswürdigen Zugriff zwischen dem Sicherungstresor und dem AKS-Cluster aktivieren.
Weitere Informationen zu den Einschränkungen und unterstützten Szenarien finden Sie in der Supportmatrix.
Initialisieren von Variablen für Ressourcenbefehle für die AKS-Clusterwiederherstellung
Geben Sie hier die erforderlichen Details für jede Ressource an, die in Ihren Befehlen verwendet werden sollen.
Abonnement-ID des Sicherungstresors
$vaultSubId = "xxxxxxxx-xxxx-xxxx-xxxx"Ressourcengruppe, zu der der Backup-Tresor gehört
$vaultRgName = "testBkpVaultRG"Name des Backup-Tresors
$vaultName = "TestBkpVault"Region, zu der der Backup-Tresor gehört
$restoreLocation = "vaultRegion" #example eastusID des Ziel-AKS-Clusters, falls die Wiederherstellung auf einem alternativen AKS-Cluster ausgeführt wird
$targetAKSClusterId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/targetrg/providers/Microsoft.ContainerService/managedClusters/PSAKSCluster2"
Wiederherstellen in einem AKS-Cluster
Rufen Sie den relevanten Wiederherstellungspunkt ab
Um die entsprechenden Wiederherstellungspunkte abzurufen, führen Sie die folgenden Cmdlets aus:
Rufen Sie mit dem Cmdlet
Get-AzDataProtectionBackupInstancealle Instanzen ab, und identifizieren Sie die relevante Instanz.$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName $vaultRgName -VaultName $vaultName
Verwenden Sie die Cmdlets Az.Resourcegraph und Search-AzDataProtectionBackupInstanceInAzGraph, um instanzübergreifend in mehreren Tresoren und Abonnements zu suchen.
$AllInstances = Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $vaultSubId -ResourceGroup $vaultRgName -Vault $vaultName -DatasourceType AzureKubernetesService -ProtectionStatus ProtectionConfigured
Rufen Sie den entsprechenden Wiederherstellungspunkt ab, sobald die Instanz identifiziert wurde. Die dritte Sicherungsinstanz aus dem Ausgabe-Array des angegebenen Cmdlets soll wiederhergestellt werden.
$rp = Get-AzDataProtectionRecoveryPoint -ResourceGroupName $vaultRgName -VaultName $vaultName -BackupInstanceName $AllInstances[2].BackupInstanceName
Vorbereiten der Wiederherstellungsanforderung
Führen Sie zum Vorbereiten der Wiederherstellungsanforderung die folgenden Cmdlets aus:
Verwenden Sie das Cmdlet
New-AzDataProtectionRestoreConfigurationClientObject, um die Wiederherstellungskonfiguration vorzubereiten und die Elemente zu definieren, die im AKS-Zielcluster wiederhergestellt werden sollen.$aksRestoreCriteria = New-AzDataProtectionRestoreConfigurationClientObject -DatasourceType AzureKubernetesService -PersistentVolumeRestoreMode RestoreWithVolumeData -IncludeClusterScopeResource $true -NamespaceMapping @{"sourceNamespace"="targetNamespace"}Verwenden Sie das Cmdlet
Initialize-AzDataProtectionRestoreRequest, um die Wiederherstellungsanforderung mit allen relevanten Details vorzubereiten.Verwenden Sie das folgende Cmdlet-Format, um die Wiederherstellung im ursprünglichen AKS-Cluster durchzuführen:
$aksRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation $restoreLocation -RestoreType OriginalLocation -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $AllInstances[2]Verwenden Sie das folgende Cmdlet-Format, um die Wiederherstellung in einem alternativen AKS-Cluster durchzuführen:
$aksRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation $restoreLocation -RestoreType AlternateLocation -TargetResourceId $targetAKSClusterId -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $AllInstances[2]
Auslösen der Wiederherstellung für AKS-Cluster
Führen Sie zum Auslösen des Wiederherstellungsvorgangs die folgenden Cmdlets aus:
Überprüfen Sie die zuvor erstellte Wiederherstellungsanforderung.
$validateRestore = Test-AzDataProtectionBackupInstanceRestore -SubscriptionId $vaultSubId -ResourceGroupName $vaultRgName -VaultName $vaultName -RestoreRequest $aksRestoreRequest -Name $AllInstances[2].BackupInstanceNameHinweis
Während des Wiederherstellungsvorgangs müssen dem Sicherungstresor und dem AKS-Cluster bestimmte Rollen zugewiesen sein, um die Wiederherstellung durchzuführen:
- Der AKS-Zielcluster sollte in der Snapshot-Ressourcengruppe über die Rolle Mitwirkender verfügen.
- Die Benutzeridentität , die mit der Backup-Erweiterung verbunden ist, sollte Storage Blob Data Contributor-Rollen auf dem Speicherkonto haben, in dem Backups im Falle der Operational Tier gespeichert werden, und im Staging-Speicherkonto im Fall von Vault Tier.
- Der Sicherungstresor sollte für den Ziel-AKS-Cluster und die Momentaufnahmeressourcengruppe die Rolle Leser besitzen.
Verwenden Sie zum Auslösen des Wiederherstellungsvorgangs mit der zuvor vorbereiteten Anforderung das Cmdlet
Start-AzDataProtectionBackupInstanceRestore.$restoreJob = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId $vaultSubId -ResourceGroupName $vaultRgName -VaultName $vaultName -BackupInstanceName $AllInstances[2].BackupInstanceName -Parameter $aksRestoreRequestHinweis
Die in der Staging-Ressourcengruppe und im Speicherkonto bereitgestellten Ressourcen werden nach Abschluss des Wiederherstellungsauftrags nicht automatisch gelöscht. Du musst sie manuell löschen.
Nachverfolgen des Wiederherstellungsauftrags für AKS-Cluster
Verfolgen Sie alle Aufträge mit dem Cmdlet Get-AzDataProtectionJob. Sie können alle Aufträge auflisten und ein bestimmtes Auftragsdetail abrufen. Verwenden Sie alternativ Az.ResourceGraph, um Aufträge in allen Backup-Tresoren zu überwachen.
Um den entsprechenden Job für einen beliebigen Backup-Tresor abzurufen, verwenden Sie das Search-AzDataProtectionJobInAzGraph-Cmdlet.
$job = Search-AzDataProtectionJobInAzGraph -Subscription -SubscriptionId $vaultSubId -ResourceGroup $vaultRgName -Vault $vaultName -DatasourceType AzureKubernetesService -Operation Restore