Przywracanie usługi Azure Kubernetes Service przy użyciu programu PowerShell
W tym artykule opisano sposób przywracania klastra Azure Kubernetes z punktu przywracania utworzonego przez usługę Azure Backup przy użyciu programu Azure PowerShell.
Usługa Azure Backup obsługuje tworzenie kopii zapasowych klastrów usługi AKS, w tym zasobów klastra i dołączonych woluminów trwałych przy użyciu rozszerzenia kopii zapasowej. To rozszerzenie musi być zainstalowane w klastrze, aby magazyn kopii zapasowych mógł komunikować się z nim w celu wykonywania operacji tworzenia kopii zapasowych i przywracania.
Odzyskiwanie oryginalnej lokalizacji (OLR) można wykonać w tym samym klastrze usługi AKS lub w usłudze ALR (Alternate-Location Recovery) w innym klastrze usługi AKS. Odzyskiwanie na poziomie elementu (ILR) umożliwia wybranie określonych elementów do przywrócenia z kopii zapasowej.
Uwaga
Przed zainicjowaniem operacji przywracania upewnij się, że klaster docelowy ma zainstalowane rozszerzenie kopii zapasowej i włączono zaufany dostęp dla magazynu kopii zapasowych. Dowiedz się więcej.
Wymagania wstępne
Przed przywróceniem klastra usługi AKS upewnij się, że spełnione są następujące wymagania wstępne:
Tworzenie kopii zapasowej usługi AKS umożliwia przywracanie do oryginalnego klastra usługi AKS (kopii zapasowej) i do alternatywnego klastra usługi AKS. Kopia zapasowa usługi AKS umożliwia wykonywanie pełnego przywracania i przywracania na poziomie elementu. Konfiguracje przywracania umożliwiają definiowanie parametrów na podstawie zasobów klastra na potrzeby przywracania.
Należy zainstalować rozszerzenie kopii zapasowej w docelowym klastrze usługi AKS. Ponadto należy włączyć zaufany dostęp między magazynem kopii zapasowych a klastrem usługi AKS.
Aby uzyskać więcej informacji na temat ograniczeń i obsługiwanych scenariuszy, zobacz macierz obsługi.
Inicjowanie zmiennych dla poleceń zasobów
W tym miejscu podaj niezbędne szczegóły dla każdego zasobu, który ma być używany w poleceniach.
Identyfikator subskrypcji magazynu kopii zapasowych
$vaultSubId = "xxxxxxxx-xxxx-xxxx-xxxx"
Grupa zasobów, do której należy magazyn kopii zapasowych
$vaultRgName = "testBkpVaultRG"
Nazwa magazynu kopii zapasowych
$vaultName = "TestBkpVault"
Region, do którego należy magazyn kopii zapasowych
$restoreLocation = "vaultRegion" #example eastus
Identyfikator docelowego klastra usługi AKS na wypadek wykonania przywracania do alternatywnego klastra usługi AKS
$targetAKSClusterId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/targetrg/providers/Microsoft.ContainerService/managedClusters/PSAKSCluster2"
Przywracanie do klastra usługi AKS
Pobieranie odpowiedniego punktu odzyskiwania
Aby pobrać odpowiednie punkty odzyskiwania, uruchom następujące polecenia cmdlet:
Pobierz wszystkie wystąpienia przy użyciu
Get-AzDataProtectionBackupInstance
polecenia cmdlet i zidentyfikuj odpowiednie wystąpienie.$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName $vaultRgName -VaultName $vaultName
Aby przeszukiwać wystąpienia w wielu magazynach i subskrypcjach, użyj poleceń Az.Resourcegraph
cmdlet i Search-AzDataProtectionBackupInstanceInAzGraph
.
$AllInstances = Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $vaultSubId -ResourceGroup $vaultRgName -Vault $vaultName -DatasourceType AzureKubernetesService -ProtectionStatus ProtectionConfigured
Po zidentyfikowaniu wystąpienia pobierz odpowiedni punkt odzyskiwania. Z tablicy wyjściowej danego polecenia cmdlet należy przywrócić trzecie wystąpienie kopii zapasowej.
$rp = Get-AzDataProtectionRecoveryPoint -ResourceGroupName $vaultRgName -VaultName $vaultName -BackupInstanceName $AllInstances[2].BackupInstanceName
Przygotowywanie żądania przywracania
Aby przygotować żądanie przywracania, uruchom następujące polecenia cmdlet:
Przygotuj konfigurację przywracania i zdefiniuj elementy do przywrócenia do docelowego klastra usługi AKS przy użyciu
New-AzDataProtectionRestoreConfigurationClientObject
polecenia cmdlet .$aksRestoreCriteria = New-AzDataProtectionRestoreConfigurationClientObject -DatasourceType AzureKubernetesService -PersistentVolumeRestoreMode RestoreWithVolumeData -IncludeClusterScopeResource $true -NamespaceMapping @{"sourceNamespace"="targetNamespace"}
Przygotuj żądanie przywracania ze wszystkimi odpowiednimi szczegółami przy użyciu
Initialize-AzDataProtectionRestoreRequest
polecenia cmdlet .Aby przywrócić do oryginalnego klastra usługi AKS, użyj następującego formatu polecenia cmdlet:
$aksRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation $restoreLocation -RestoreType OriginalLocation -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $AllInstances[2]
Aby przywrócić do alternatywnego klastra usługi AKS, użyj następującego formatu polecenia cmdlet:
$aksRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation $restoreLocation -RestoreType AlternateLocation -TargetResourceId $targetAKSClusterId -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $AllInstances[2]
Wyzwalanie przywracania
Aby wyzwolić operację przywracania, uruchom następujące polecenia cmdlet:
Zweryfikuj utworzone wcześniej żądanie przywracania.
$validateRestore = Test-AzDataProtectionBackupInstanceRestore -SubscriptionId $vaultSubId -ResourceGroupName $vaultRgName -VaultName $vaultName -RestoreRequest $aksRestoreRequest -Name $AllInstances[2].BackupInstanceName
Uwaga
Podczas operacji przywracania magazyn kopii zapasowych i klaster usługi AKS muszą mieć przypisane określone role w celu wykonania przywracania:
- Docelowy klaster usługi AKS powinien mieć rolę Współautor w grupie zasobów migawki.
- Tożsamość użytkownika dołączona z rozszerzeniem kopii zapasowej powinna mieć role Współautor konta magazynu na koncie magazynu, na którym są przechowywane kopie zapasowe.
- Magazyn kopii zapasowych powinien mieć rolę Czytelnik w docelowym klastrze usługi AKS i grupie zasobów migawki.
Aby wyzwolić operację przywracania z żądaniem przygotowanym wcześniej przy użyciu
Start-AzDataProtectionBackupInstanceRestore
polecenia cmdlet .$restoreJob = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId $vaultSubId -ResourceGroupName $vaultRgName -VaultName $vaultName -BackupInstanceName $AllInstances[2].BackupInstanceName -Parameter $aksRestoreRequest
Śledzenie zadania przywracania
Śledź wszystkie zadania przy użyciu Get-AzDataProtectionJob
polecenia cmdlet . Możesz wyświetlić listę wszystkich zadań i pobrać szczegóły określonego zadania. Alternatywnie użyj polecenia Az.ResourceGraph, aby śledzić zadania we wszystkich magazynach usługi Backup.
Aby uzyskać odpowiednie zadanie w dowolnym magazynie usługi Backup, użyj Search-AzDataProtectionJobInAzGraph
polecenia cmdlet .
$job = Search-AzDataProtectionJobInAzGraph -Subscription -SubscriptionId $vaultSubId -ResourceGroup $vaultRgName -Vault $vaultName -DatasourceType AzureKubernetesService -Operation Restore
Następne kroki
- Zarządzanie kopiami zapasowymi klastra usługi Azure Kubernetes Service.
- Omówienie tworzenia kopii zapasowej klastra usługi Azure Kubernetes Service.