Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo descreve como restaurar o cluster Azure Kubernetes a partir de um ponto de restauro criado pelo Azure Backup usando o Azure PowerShell.
O Azure Backup suporta a cópia de segurança de clusters AKS, incluindo recursos de cluster e volumes persistentes anexados, usando uma extensão de backup. Esta extensão deve ser instalada no cluster, permitindo que o Backup Vault comunique com ele para realizar operações de backup e restauro.
Pode realizar a Recuperação de Local Original (OLR) no mesmo cluster AKS ou a Recuperação de Local Alternativo (ALR) num cluster AKS diferente. Recuperação ao Nível de Itens (ILR) permite selecionar itens específicos para restaurar a partir de backup.
Note
Antes de iniciar uma operação de restauro, certifique-se de que o cluster alvo tem a Extensão de Backup instalada e o Acesso Confiável ativado para o cofre de Backup. Mais informações.
Prerequisites
Antes de restaurar um cluster AKS, certifique-se de que cumpre os seguintes pré-requisitos:
O backup do AKS permite restaurar para o cluster AKS original (do qual foi feito backup) ou para um cluster AKS alternativo. O backup do AKS permite executar uma restauração completa e uma restauração ao nível do item. Pode utilizar configurações de restauro para definir parâmetros com base nos recursos do cluster para restauração.
Você deve instalar a Extensão de Backup no cluster AKS de destino. Além disso, você deve habilitar o Acesso Confiável entre o cofre de backup e o cluster AKS.
Para obter mais informações sobre as limitações e os cenários suportados, consulte a matriz de suporte.
Inicializar variáveis para comandos de recursos para a restauração do cluster AKS
Aqui, forneça os detalhes necessários para cada recurso a ser usado nos seus comandos.
ID de subscrição do Cofre de Backup
$vaultSubId = "xxxxxxxx-xxxx-xxxx-xxxx"Grupo de Recursos ao qual pertence o Cofre de Backup
$vaultRgName = "testBkpVaultRG"Nome do Cofre de Reserva
$vaultName = "TestBkpVault"Região a que pertence o Cofre de Reserva
$restoreLocation = "vaultRegion" #example eastusID do cluster AKS alvo, caso a restauração seja realizada para um cluster AKS alternativo
$targetAKSClusterId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/targetrg/providers/Microsoft.ContainerService/managedClusters/PSAKSCluster2"
Restaurar num cluster AKS
Buscar o ponto de recuperação relevante
Para obter os pontos de recuperação relevantes, execute os seguintes cmdlets:
Buscar todas as instâncias usando o
Get-AzDataProtectionBackupInstancecmdlet e identificar a instância relevante.$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName $vaultRgName -VaultName $vaultName
Para pesquisar em instâncias em vários cofres e subscrições, use os cmdlets Az.Resourcegraph e Search-AzDataProtectionBackupInstanceInAzGraph.
$AllInstances = Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $vaultSubId -ResourceGroup $vaultRgName -Vault $vaultName -DatasourceType AzureKubernetesService -ProtectionStatus ProtectionConfigured
Uma vez identificada a instância, busque o ponto de recuperação relevante. A partir da matriz de saída do cmdlet dado, a terceira instância de backup deve ser restaurada.
$rp = Get-AzDataProtectionRecoveryPoint -ResourceGroupName $vaultRgName -VaultName $vaultName -BackupInstanceName $AllInstances[2].BackupInstanceName
Prepare o pedido de restauro
Para preparar o pedido de restauro, execute os seguintes cmdlets:
Prepare a configuração de restauro e defina os itens a serem restaurados no cluster AKS alvo usando o
New-AzDataProtectionRestoreConfigurationClientObjectcmdlet.$aksRestoreCriteria = New-AzDataProtectionRestoreConfigurationClientObject -DatasourceType AzureKubernetesService -PersistentVolumeRestoreMode RestoreWithVolumeData -IncludeClusterScopeResource $true -NamespaceMapping @{"sourceNamespace"="targetNamespace"}Prepare o pedido de restauro com todos os detalhes relevantes usando o
Initialize-AzDataProtectionRestoreRequestcmdlet.Para restaurar o cluster AKS original, utilize o seguinte formato de cmdlet:
$aksRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation $restoreLocation -RestoreType OriginalLocation -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $AllInstances[2]Para restaurar num cluster AKS alternativo, use o seguinte formato de cmdlet:
$aksRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation $restoreLocation -RestoreType AlternateLocation -TargetResourceId $targetAKSClusterId -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $AllInstances[2]
Acionar o restauro do cluster AKS
Para ativar a operação de restauro, execute os seguintes cmdlets:
Valide o pedido de restauro criado anteriormente.
$validateRestore = Test-AzDataProtectionBackupInstanceRestore -SubscriptionId $vaultSubId -ResourceGroupName $vaultRgName -VaultName $vaultName -RestoreRequest $aksRestoreRequest -Name $AllInstances[2].BackupInstanceNameNote
Durante a operação de restauro, o cofre de Backup e o cluster AKS precisam de ter certos papéis atribuídos para realizar a restauração:
- O cluster AKS alvo deve ter a função Contribuinte no Grupo de Recursos Snapshot.
- A Identidade do Utilizador associada à Extensão de Backup deve ter funções de Contribuidor da Conta de Armazenamento na conta de armazenamento onde os backups são armazenados.
- O cofre de backup deve ter uma função de Leitor no cluster AKS de destino e no Grupo de Recursos de Snapshots.
Para iniciar a operação de restauro com o pedido preparado anteriormente usando o
Start-AzDataProtectionBackupInstanceRestorecmdlet.$restoreJob = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId $vaultSubId -ResourceGroupName $vaultRgName -VaultName $vaultName -BackupInstanceName $AllInstances[2].BackupInstanceName -Parameter $aksRestoreRequest
Acompanhar o trabalho de restauro para o cluster AKS
Acompanhe todos os trabalhos usando o Get-AzDataProtectionJob cmdlet. Você pode listar todos os trabalhos e buscar um detalhe específico do trabalho. Alternativamente, use o Az.ResourceGraph para acompanhar trabalhos em todos os cofres de backup.
Para obter o trabalho relevante em qualquer cofre de backup, utilize o cmdlet Search-AzDataProtectionJobInAzGraph.
$job = Search-AzDataProtectionJobInAzGraph -Subscription -SubscriptionId $vaultSubId -ResourceGroup $vaultRgName -Vault $vaultName -DatasourceType AzureKubernetesService -Operation Restore