Ripristinare il servizio Azure Kubernetes con PowerShell
Questo articolo descrive come ripristinare il cluster Azure Kubernetes da un punto di ripristino creato da Backup di Azure usando Azure PowerShell.
Backup di Azure supporta il backup di cluster del servizio Azure Kubernetes, incluse le risorse del cluster e i volumi permanenti collegati, usando un'estensione di backup. Questa estensione deve essere installata nel cluster, consentendo all'insieme di credenziali di backup di comunicare con esso per eseguire operazioni di backup e ripristino.
È possibile eseguire il ripristino del percorso originale (OLR) nello stesso cluster del servizio Azure Kubernetes o in un cluster del servizio Azure Kubernetes alternativo (ALR) in un cluster del servizio Azure Kubernetes diverso. Il ripristino a livello di elemento consente di selezionare elementi specifici da ripristinare dal backup.
Nota
Prima di avviare un'operazione di ripristino, verificare che nel cluster di destinazione sia installata l'estensione di backup e che l'accesso attendibile sia abilitato per l'insieme di credenziali di backup. Altre informazioni.
Prerequisiti
Prima di ripristinare un cluster del servizio Azure Kubernetes, assicurarsi di soddisfare i prerequisiti seguenti:
Il backup del servizio Azure Kubernetes consente di eseguire il ripristino nel cluster del servizio Azure Kubernetes originale (di cui è stato eseguito il backup) e in un cluster del servizio Azure Kubernetes alternativo. Il backup del servizio Azure Kubernetes consente di eseguire un ripristino completo e un ripristino a livello di elemento. È possibile usare le configurazioni di ripristino per definire i parametri in base alle risorse del cluster per il ripristino.
È necessario installare l'estensione Backup nel cluster del servizio Azure Kubernetes di destinazione. Inoltre, è necessario abilitare l'Accesso attendibile tra l'insieme di credenziali di Backup e il cluster del servizio Azure Kubernetes.
Per altre informazioni sulle limitazioni e sugli scenari supportati, vedere la matrice di supporto.
Inizializzare le variabili per i comandi delle risorse
In questo caso, specificare i dettagli necessari per ogni risorsa da usare nei comandi.
ID sottoscrizione dell'insieme di credenziali di backup
$vaultSubId = "xxxxxxxx-xxxx-xxxx-xxxx"
Gruppo di risorse a cui appartiene l'insieme di credenziali di backup
$vaultRgName = "testBkpVaultRG"
Nome dell'insieme di credenziali di backup
$vaultName = "TestBkpVault"
Area a cui appartiene l'insieme di credenziali di backup
$restoreLocation = "vaultRegion" #example eastus
ID del cluster del servizio Azure Kubernetes di destinazione, nel caso in cui il ripristino venga eseguito in un cluster del servizio Azure Kubernetes alternativo
$targetAKSClusterId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/targetrg/providers/Microsoft.ContainerService/managedClusters/PSAKSCluster2"
Eseguire il ripristino in un cluster del servizio Azure Kubernetes
Recupero del punto di ripristino pertinente
Per recuperare i punti di ripristino pertinenti, eseguire i cmdlet seguenti:
Recuperare tutte le istanze usando il
Get-AzDataProtectionBackupInstance
cmdlet e identificare l'istanza pertinente.$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName $vaultRgName -VaultName $vaultName
Per eseguire ricerche tra istanze in più insiemi di credenziali e sottoscrizioni, usare Az.Resourcegraph
e Search-AzDataProtectionBackupInstanceInAzGraph
cmdlet.
$AllInstances = Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $vaultSubId -ResourceGroup $vaultRgName -Vault $vaultName -DatasourceType AzureKubernetesService -ProtectionStatus ProtectionConfigured
Dopo aver identificato l'istanza, recuperare il punto di ripristino pertinente. Dalla matrice di output del cmdlet specificato, è necessario ripristinare la terza istanza di backup.
$rp = Get-AzDataProtectionRecoveryPoint -ResourceGroupName $vaultRgName -VaultName $vaultName -BackupInstanceName $AllInstances[2].BackupInstanceName
Preparare la richiesta di ripristino
Per preparare la richiesta di ripristino, eseguire i cmdlet seguenti:
Preparare la configurazione di ripristino e definire gli elementi da ripristinare nel cluster del servizio Azure Kubernetes di destinazione usando il
New-AzDataProtectionRestoreConfigurationClientObject
cmdlet .$aksRestoreCriteria = New-AzDataProtectionRestoreConfigurationClientObject -DatasourceType AzureKubernetesService -PersistentVolumeRestoreMode RestoreWithVolumeData -IncludeClusterScopeResource $true -NamespaceMapping @{"sourceNamespace"="targetNamespace"}
Preparare la richiesta di ripristino con tutti i dettagli pertinenti usando il
Initialize-AzDataProtectionRestoreRequest
cmdlet .Per il ripristino nel cluster del servizio Azure Kubernetes originale, usare il formato di cmdlet seguente:
$aksRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation $restoreLocation -RestoreType OriginalLocation -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $AllInstances[2]
Per il ripristino in un cluster del servizio Azure Kubernetes alternativo, usare il formato di cmdlet seguente:
$aksRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation $restoreLocation -RestoreType AlternateLocation -TargetResourceId $targetAKSClusterId -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $AllInstances[2]
Attivare il processo di ripristino
Per attivare l'operazione di ripristino, eseguire i cmdlet seguenti:
Convalidare la richiesta di ripristino creata in precedenza.
$validateRestore = Test-AzDataProtectionBackupInstanceRestore -SubscriptionId $vaultSubId -ResourceGroupName $vaultRgName -VaultName $vaultName -RestoreRequest $aksRestoreRequest -Name $AllInstances[2].BackupInstanceName
Nota
Durante l'operazione di ripristino, l'insieme di credenziali di Backup e il cluster del servizio Azure Kubernetes devono avere determinati ruoli assegnati per eseguire il ripristino:
- Il cluster del servizio Azure Kubernetes di destinazione deve avere il ruolo Collaboratore nel gruppo di risorse snapshot.
- L'identità utente associata all'estensione di Backup deve avere i ruoli Collaboratore account di archiviazione nell'account di archiviazione in cui sono archiviati i backup.
- L'insieme di credenziali di Backup deve avere un ruolo Lettore nel cluster del servizio Azure Kubernetes di destinazione e nel Gruppo di risorse snapshot.
Per attivare l'operazione di ripristino con la richiesta preparata in precedenza usando il
Start-AzDataProtectionBackupInstanceRestore
cmdlet .$restoreJob = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId $vaultSubId -ResourceGroupName $vaultRgName -VaultName $vaultName -BackupInstanceName $AllInstances[2].BackupInstanceName -Parameter $aksRestoreRequest
Tenere traccia del processo di ripristino
Tenere traccia di tutti i processi usando il Get-AzDataProtectionJob
cmdlet. È possibile elencare tutti i processi e recuperare un dettaglio specifico del processo. In alternativa, usare Az.ResourceGraph per tenere traccia dei processi in tutti gli insiemi di credenziali di backup.
Per ottenere il processo pertinente in qualsiasi insieme di credenziali di Backup, usare il Search-AzDataProtectionJobInAzGraph
cmdlet .
$job = Search-AzDataProtectionJobInAzGraph -Subscription -SubscriptionId $vaultSubId -ResourceGroup $vaultRgName -Vault $vaultName -DatasourceType AzureKubernetesService -Operation Restore
Passaggi successivi
- Gestione dei backup di servizio Azure Kubernetes cluster.
- servizio Azure Kubernetes panoramica del backup del cluster.