Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 consente di eseguire il backup dei cluster AKS, incluse le risorse del cluster e i volumi persistenti associati, tramite un'estensione di backup. Questa estensione deve essere installata nel cluster, in modo da consentire a Backup Vault di comunicare con essa 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 AKS, 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 di AKS consente di eseguire un ripristino completo e un ripristino a livello di singolo 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 per il ripristino del cluster AKS
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'archivio di backup
$vaultName = "TestBkpVault"Regione a cui appartiene il backup vault
$restoreLocation = "vaultRegion" #example eastusID 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"
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-AzDataProtectionBackupInstancecmdlet 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:
Preparate la configurazione di ripristino e definite gli elementi da ripristinare nel cluster AKS di destinazione utilizzando il cmdlet
New-AzDataProtectionRestoreConfigurationClientObject.$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-AzDataProtectionRestoreRequestcmdlet .Per ripristinare nel cluster AKS originale, usare il formato del 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 AKS alternativo, usare il seguente formato del cmdlet:
$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 ripristino per il cluster AKS
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].BackupInstanceNameNota
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 AKS di destinazione deve avere il ruolo Contributor nel gruppo di risorse snapshot.
- L'identità utente associata all'estensione Backup deve avere i ruoli Storage Blob Data Contributorsull'account di archiviazione in cui sono archiviati i backup nel caso di Operational Tier e sull'account di archiviazione di staging nel caso di Vault Tier.
- L'insieme di credenziali di backup deve avere assegnato il ruolo Lettore sul cluster AKS di destinazione e sul gruppo di risorse delle snapshot.
Per attivare l'operazione di ripristino con la richiesta preparata in precedenza usando il
Start-AzDataProtectionBackupInstanceRestorecmdlet .$restoreJob = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId $vaultSubId -ResourceGroupName $vaultRgName -VaultName $vaultName -BackupInstanceName $AllInstances[2].BackupInstanceName -Parameter $aksRestoreRequestNota
Le risorse idratate nel gruppo di risorse di gestione temporanea e nell'account di archiviazione non vengono automaticamente pulite alla fine del processo di ripristino. Devi eliminarli manualmente.
Tenere traccia del processo di ripristino per il cluster AKS
Tenere traccia di tutti i processi usando il Get-AzDataProtectionJob cmdlet. È possibile elencare tutti i job e recuperare i dettagli di un job specifico. In alternativa, usare Az.ResourceGraph per tenere traccia dei processi in tutti gli insiemi di credenziali di Backup.
Per ottenere il processo corrispondente in qualsiasi insieme di credenziali di Backup, utilizzare il cmdlet Search-AzDataProtectionJobInAzGraph.
$job = Search-AzDataProtectionJobInAzGraph -Subscription -SubscriptionId $vaultSubId -ResourceGroup $vaultRgName -Vault $vaultName -DatasourceType AzureKubernetesService -Operation Restore
Passaggi successivi
- Gestione dei backup di servizio Azure Kubernetes cluster.
- Panoramica del backup del cluster di servizio Azure Kubernetes.