Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano sposób konfigurowania i tworzenia kopii zapasowej usługi Azure Kubernetes Service (AKS) przy użyciu programu Azure PowerShell.
Usługa Azure Backup umożliwia teraz tworzenie kopii zapasowych klastrów usługi AKS (zasobów klastra i trwałych woluminów dołączonych do klastra) przy użyciu rozszerzenia kopii zapasowej, które należy zainstalować w klastrze. Magazyn kopii zapasowych komunikuje się z klastrem za pośrednictwem tego rozszerzenia kopii zapasowej w celu wykonywania operacji tworzenia kopii zapasowych i przywracania.
Wymagania wstępne
Przed rozpoczęciem tworzenia kopii zapasowej klastra usługi AKS upewnij się, że zapoznasz się z następującymi wymaganiami wstępnymi:
Obecnie kopia zapasowa usługi AKS obsługuje jedynie woluminy trwałe oparte na dyskach Azure, włączone przez sterownik CSI. Kopie zapasowe są przechowywane tylko w operacyjnym magazynie danych (w twoim dzierżawcy) i nie są przenoszone do skarbca. Magazyn usługi Backup i klaster usługi AKS powinny znajdować się w tym samym regionie.
Kopia zapasowa usługi AKS używa kontenera blobów i grupy zasobów do przechowywania kopii zapasowych. Kontener obiektów blob zawiera zasoby klastra AKS, natomiast migawki trwałych woluminów są przechowywane w grupie zasobów. Klaster AKS i lokalizacje magazynu muszą znajdować się w tym samym regionie. Dowiedz się , jak utworzyć kontener obiektów blob.
Obecnie kopia zapasowa usługi AKS obsługuje tworzenie kopii zapasowych raz dziennie. Obsługuje również częstsze kopie zapasowe (w odstępach co 4, 8 i 12 godzin) dziennie. To rozwiązanie umożliwia przechowywanie danych na potrzeby przywracania przez maksymalnie 360 dni. Dowiedz się, jak utworzyć zasady tworzenia kopii zapasowych.
Należy zainstalować rozszerzenie kopii zapasowej, aby skonfigurować operacje tworzenia i przywracania kopii zapasowych w klastrze usługi AKS. Dowiedz się więcej o rozszerzeniu kopii zapasowej.
Upewnij się, że
Microsoft.KubernetesConfiguration,Microsoft.DataProtection, iMicrosoft.ContainerServicesą zarejestrowane w ramach twojej subskrypcji przed zainicjowaniem operacji konfiguracji i przywracania kopii zapasowej.Przed zainicjowaniem operacji tworzenia kopii zapasowej lub przywracania kopii zapasowej usługi AKS upewnij się, że wszystkie wymagania wstępne są spełnione.
Aby uzyskać więcej informacji na temat obsługiwanych scenariuszy, ograniczeń i dostępności, zobacz macierz obsługi.
Utwórz magazyn kopii zapasowych dla kopii zapasowej AKS
Magazyn usługi Backup to jednostka zarządzania na platformie Azure, która przechowuje dane kopii zapasowej dla różnych nowszych obciążeń obsługiwanych przez usługę Azure Backup, takich jak serwery usługi Azure Database for PostgreSQL i dyski platformy Azure. Magazyny zapasowe ułatwiają organizowanie danych kopii zapasowych, jednocześnie minimalizując obciążenie zarządzaniem. Są one oparte na modelu usługi Azure Resource Manager, który zapewnia rozszerzone możliwości ułatwiające zabezpieczanie danych kopii zapasowych. Przed utworzeniem magazynu kopii zapasowych wybierz nadmiarowość przechowywania danych w magazynie kopii zapasowych, a następnie utwórz magazyn kopii zapasowych z tą nadmiarowością i lokalizacją.
W tym miejscu tworzymy magazyn kopii zapasowych TestBkpVault w regionie Zachodnie USA w ramach grupy zasobów testBkpVaultRG. Użyj polecenia cmdlet New-AzDataProtectionBackupVault, aby utworzyć magazyn kopii zapasowych. Dowiedz się więcej o tworzeniu sejfu kopii zapasowych.
Uwaga
Chociaż wybrany magazyn może mieć ustawienie globalnej nadmiarowości, kopie zapasowe dla usługi AKS obecnie obsługują tylko warstwę operacyjną. Wszystkie kopie zapasowe są przechowywane w ramach subskrypcji w tym samym regionie co klaster usługi AKS i nie są kopiowane do magazynu Baza danych Backup.
Aby zdefiniować ustawienia magazynu kopii zapasowych, uruchom następujące polecenie cmdlet:
Uwaga
Magazyn jest tworzony tylko z obsługą nadmiarowości lokalnej i magazynu danych operacyjnych.
$storageSetting = New-AzDataProtectionBackupVaultStorageSettingObject -Type LocallyRedundant -DataStoreType OperationalStoreAby utworzyć magazyn kopii zapasowych zgodnie z podanymi wcześniej szczegółami, uruchom następujące polecenie cmdlet:
New-AzDataProtectionBackupVault -ResourceGroupName testBkpVaultRG -VaultName TestBkpVault -Location westus -StorageSetting $storageSetting $TestBkpVault = Get-AzDataProtectionBackupVault -VaultName TestBkpVault
Po zakończeniu tworzenia magazynu utwórz zasady tworzenia kopii zapasowych w celu ochrony klastrów usługi AKS.
Tworzenie zasad tworzenia kopii zapasowych dla klastra usługi AKS
Usługa Azure Backup umożliwia tworzenie zasad tworzenia kopii zapasowych dla ochrony klastra usługi AKS przy użyciu codziennych kopii zapasowych lub wielu kopii zapasowych dziennie.
Aby utworzyć zasady tworzenia kopii zapasowych dla klastra usługi AKS, uruchom następujące polecenia cmdlet:
Pobierz szablon polityki przy użyciu polecenia cmdlet
Get-AzDataProtectionPolicyTemplatei sprawdź składniki wewnętrzne polityki kopii zapasowej dla tworzenia kopii zapasowej usługi AKS. To polecenie zwraca domyślny szablon zasad dla danego typu źródła danych. Użyj tego szablonu zasad, aby utworzyć nowe zasady.$policyDefn = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureKubernetesServiceSzablon zasad składa się z kryteriów wyzwalacza (które decydują o czynnikach wyzwalania zadania tworzenia kopii zapasowej) i cyklu życia (który decyduje, kiedy usunąć, skopiować lub przenieść kopie zapasowe). W kopii zapasowej usługi AKS wartość domyślna wyzwalacza to wyzwalacz zaplanowany co 4 godziny (PT4H), a przechowywanie każdej kopii zapasowej wynosi 7 dni.
$policyDefn.PolicyRule[0]. Trigger | fl ObjectType: ScheduleBasedTriggerContext ScheduleRepeatingTimeInterval: {R/2023-04-05T13:00:00+00:00/PT4H} TaggingCriterion: {Default} $policyDefn.PolicyRule[1]. Lifecycle | fl DeleteAfterDuration: P7D DeleteAfterObjectType: AbsoluteDeleteOption SourceDataStoreObjectType : DataStoreInfoBase SourceDataStoreType: OperationalStore TargetDataStoreCopySetting:W obszarze Częstotliwość codziennego tworzenia kopii zapasowych określ godzinę wykonania kopii zapasowych.
Ważne
Godzina dnia wskazuje godzinę rozpoczęcia tworzenia kopii zapasowej, a nie godzinę zakończenia tworzenia kopii zapasowej. Czas wymagany do ukończenia operacji tworzenia kopii zapasowej zależy od różnych czynników, w tym liczby i rozmiaru woluminów trwałych oraz współczynnika zmian między kolejnymi kopiami zapasowymi.
Tworzenie kopii zapasowej dla usługi AKS zapewnia wiele kopii zapasowych dziennie. Kopie zapasowe są równomiernie dystrybuowane w ciągu dnia, jeśli potrzebujesz częstszych kopii zapasowych, wybierając częstotliwość co godzinę tworzenia kopii zapasowych, która ma możliwość tworzenia kopii zapasowych z interwałami co 4, 6, 8 lub 12 godzin. Kopie zapasowe są zaplanowane na podstawie wybranego interwału czasu. Jeśli na przykład wybierzesz co 4 godziny, kopie zapasowe są wykonywane w przybliżeniu w przedziale co 4 godziny.
Jeśli chcesz edytować częstotliwość godzinną lub okres przechowywania, użyj
Edit-AzDataProtectionPolicyTriggerClientObjectpoleceń cmdlet i/lubEdit-AzDataProtectionPolicyRetentionRuleClientObject. Gdy obiekt zasad ma wszystkie wymagane wartości, rozpocznij tworzenie nowych zasad z obiektu zasad przy użyciuNew-AzDataProtectionBackupPolicypolecenia cmdlet .New-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name aksBkpPolicy -Policy $policyDefn $aksBkpPol = Get-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "aksBkpPolicy"
Przygotowywanie klastra usługi AKS do tworzenia kopii zapasowej
Po zakończeniu tworzenia skarbca i zasad należy spełnić następujące wymagania wstępne, aby przygotować klaster AKS do tworzenia kopii zapasowej:
Utwórz konto magazynu i kontener BLOB
Kopia zapasowa dla AKS przechowuje zasoby Kubernetes w kontenerze blob. Aby przygotować klaster usługi AKS do tworzenia kopii zapasowej, należy zainstalować rozszerzenie w klastrze. To rozszerzenie wymaga konta przechowywania i kontenera blob jako danych wejściowych.
Aby utworzyć nowe konto przechowywania i kontener obiektów blob, zapoznaj się z tymi krokami.
Uwaga
- Konto magazynu i klaster usługi AKS powinny znajdować się w tej samej subskrypcji i regionie.
- Kontener blobów nie powinien zawierać żadnych wcześniej utworzonych systemów plików (z wyjątkiem tych utworzonych przez kopię zapasową AKS).
- Jeśli źródłowy lub docelowy klaster usługi AKS znajduje się w prywatnej sieci wirtualnej, należy utworzyć prywatny punkt końcowy w celu połączenia konta magazynu z klastrem usługi AKS.
Instalowanie rozszerzenia kopii zapasowej
Rozszerzenie kopii zapasowej jest obowiązkowe do zainstalowania w klastrze usługi AKS w celu wykonywania dowolnych operacji tworzenia kopii zapasowych i przywracania. Rozszerzenie do tworzenia kopii zapasowych tworzy przestrzeń nazw
dataprotection-microsoftw klastrze i używa jej do wdrażania zasobów w niej. Rozszerzenie wymaga konta magazynu i kontenera obiektów blob jako danych wejściowych do instalacji. Dowiedz się więcej o poleceniach instalacji rozszerzenia.W ramach instalacji rozszerzenia, tożsamość użytkownika jest tworzona w grupie zasobów puli węzłów klastra AKS. Aby rozszerzenie mogło uzyskiwać dostęp do konta magazynu, musisz nadać tej tożsamości rolę Współautora konta magazynu. Aby przypisać wymaganą rolę, uruchom następujące polecenie
Włączanie zaufanego dostępu
Aby magazyn kopii zapasowych mógł nawiązać połączenie z klastrem usługi AKS, należy włączyć zaufany dostęp, ponieważ umożliwia magazynowi usługi Backup bezpośredni dostęp do klastra usługi AKS. Dowiedz się , jak włączyć zaufany dostęp.
Uwaga
W przypadku instalacji rozszerzenia kopii zapasowej i włączenia zaufanego dostępu polecenia są dostępne tylko w interfejsie wiersza polecenia platformy Azure.
Konfigurowanie kopii zapasowych dla klastra usługi AKS
Po utworzeniu magazynu kopii zapasowych i polityki kopii zapasowych, i klastra AKS w stanie gotowości do wykonania kopii zapasowej, można teraz rozpocząć tworzenie kopii zapasowej klastra AKS.
Kluczowe encje
Klaster AKS do ochrony
Pobierz identyfikator Azure Resource Manager klastra AKS, który ma być chroniony. Służy on jako identyfikator klastra. W tym przykładzie użyjemy klastra usługi AKS o nazwie PSTestAKSCluster w grupie zasobów aksrg w innej subskrypcji:
$sourceClusterId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/aksrg /providers/Microsoft.ContainerService/managedClusters/ PSTestAKSCluster "Grupa zasobów migawki
Trwałe migawki woluminów są przechowywane w grupie zasobów w ramach subskrypcji. Zalecamy utworzenie dedykowanej grupy zasobów jako magazynu danych migawek, który będzie używany przez usługę Azure Backup. Dedykowana grupa zasobów umożliwia ograniczenie uprawnień dostępu do grupy zasobów, zapewniając bezpieczeństwo i łatwość zarządzania danymi kopii zapasowych. Zapisz identyfikator usługi Azure Resource Manager grupy zasobów w lokalizacji, w której chcesz przechowywać trwałe migawki woluminów.
$snapshotrg = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/snapshotrg"
Przygotowywanie żądania
Konfiguracja kopii zapasowej jest wykonywana w dwóch krokach:
Przygotuj konfigurację kopii zapasowej, aby zdefiniować, które zasoby klastra mają być tworzone przy użyciu
New-AzDataProtectionBackupConfigurationClientObjectpolecenia cmdlet . W poniższym przykładzie konfiguracja jest zdefiniowana jako wszystkie zasoby klastra w bieżących i przyszłych przestrzeniach nazw, które zostaną zarchiwizowane z etykietąkey-value pair x=y. Ponadto tworzona jest kopia zapasowa wszystkich zasobów o zakresie klastrowym i trwałych woluminów. Następujące przestrzenie nazw są pomijane w konfiguracji kopii zapasowych i nie są skonfigurowane do kopii zapasowych: kube-system, kube-node-lease, kube-public.$backupConfig = New-AzDataProtectionBackupConfigurationClientObject -SnapshotVolume $true -IncludeClusterScopeResource $true -DatasourceType AzureKubernetesService -LabelSelector "env=prod"Przygotuj odpowiednie żądanie, korzystając z odpowiedniego skarbca, polityki, klastra AKS, konfiguracji kopii zapasowej oraz grupy zasobów migawki za pomocą cmdlet
Initialize-AzDataProtectionBackupInstance.$backupInstance = Initialize-AzDataProtectionBackupInstance -DatasourceType AzureKubernetesService -DatasourceLocation $dataSourceLocation -PolicyId $ aksBkpPol.Id -DatasourceId $sourceClusterId -SnapshotResourceGroupId $ snapshotrg -FriendlyName $friendlyName -BackupConfiguration $backupConfig
Przypisywanie wymaganych uprawnień i weryfikowanie
Aby przypisać wymagane uprawnienia i przeprowadzić walidację ochrony klastra AKS, uruchom następujące cmdlet'y:
Po przygotowaniu żądania należy przypisać użytkownikowi wymagane uprawnienia za pośrednictwem kontroli dostępu na podstawie ról (RBAC) platformy Azure do magazynu (reprezentowanego przez tożsamość systemu zarządzanego magazynu) i klastra usługi AKS. Za pomocą polecenia cmdlet
Set-AzDataProtectionMSIPermissionmożna to wykonać. Magazyn kopii zapasowych używa tożsamości zarządzanej do uzyskiwania dostępu do innych zasobów platformy Azure. Aby skonfigurować kopię zapasową klastra AKS, tożsamość zarządzana magazynu kopii zapasowych wymaga zestawu uprawnień w klastrze AKS oraz w grupach zasobów, w których są tworzone i zarządzane migawki. Ponadto klaster AKS wymaga uprawnień do korzystania z grupy zasobów przeznaczonej na migawki.Uwaga
Obecnie obsługiwana jest tylko zarządzana tożsamość przypisana przez system dla tworzenia kopii zapasowych (zarówno w magazynie kopii zapasowych, jak i w klastrze AKS). Tożsamość zarządzana przypisana przez system jest ograniczona do jednej na zasób i jest powiązana z cyklem życia tego zasobu. Uprawnienia do tożsamości zarządzanej można przyznać, używając Azure RBAC. Tożsamość zarządzana to jednostka usługi specjalnego typu, która może być używana tylko z zasobami platformy Azure. Dowiedz się więcej o tożsamościach zarządzanych.
Set-AzDataProtectionMSIPermission -BackupInstance $backupInstance -VaultResourceGroup $rgName -VaultName $vaultName -PermissionsScope "ResourceGroup"Po przypisaniu uprawnień przetestuj gotowość utworzonego wystąpienia.
test-AzDataProtectionBackupInstanceReadiness -ResourceGroupName $resourceGroupName -VaultName $vaultName -BackupInstance $backupInstance.PropertyPo pomyślnym zakończeniu weryfikacji, prześlij żądanie ochrony klastra usługi AKS za pomocą polecenia
New-AzDataProtectionBackupInstancecmdlet.New-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstance $backupInstance
Uruchom kopię zapasową na żądanie dla klastra AKS
Aby wyzwolić kopię zapasową na żądanie, uruchom następujące polecenia cmdlet:
Aby pobrać odpowiednie wystąpienie kopii zapasowej, na którym chcesz inicjować wykonywanie kopii zapasowej, uruchom polecenie cmdlet
Get-AzDataProtectionBackupInstance.$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxx-xxx-xxx" -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "BackupInstanceName"Określ regułę przechowywania podczas wyzwalania kopii zapasowej. Aby wyświetlić reguły przechowywania w zasadach, przejdź do obiektu zasad dla reguł przechowywania. W poniższym przykładzie zostanie wyświetlona reguła z nazwą domyślną i użyjemy tej reguły dla kopii zapasowej na żądanie.
$policyDefn.PolicyRule | fl BackupParameter: Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.AzureBackupParams BackupParameterObjectType: AzureBackupParams DataStoreObjectType: DataStoreInfoBase DataStoreType: OperationalStore Name: BackupHourly ObjectType: AzureBackupRule Trigger: Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.ScheduleBasedTriggerContext TriggerObjectType: ScheduleBasedTriggerContext IsDefault: True Lifecycle: {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SourceLifeCycle} Name: Default ObjectType: AzureRetentionRuleWyzwól kopię zapasową na żądanie przy użyciu polecenia cmdlet
Backup-AzDataProtectionBackupInstanceAdhoc.$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name Backup-AzDataProtectionBackupInstanceAdhoc -BackupInstanceName $AllInstances[0].Name -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupRuleOptionRuleName "Default"
Monitorowanie zadań tworzenia kopii zapasowych w usłudze AKS
Śledź wszystkie zadania przy użyciu polecenia Get-AzDataProtectionJob cmdlet. Możesz wyświetlić listę wszystkich zadań i pobrać szczegóły określonego zadania. Możesz również użyć polecenia cmdlet Az.ResourceGraph, aby śledzić wszystkie zadania we wszystkich składnicach usługi Backup. Użyj polecenia cmdlet Search-AzDataProtectionJobInAzGraph, aby uzyskać odpowiednie szczegóły zadania z dowolnego magazynu kopii zapasowej.
$job = Search-AzDataProtectionJobInAzGraph -Subscription $sub -ResourceGroupName "testBkpVaultRG" -Vault $TestBkpVault.Name -DatasourceType AzureKubernetesService -Operation OnDemandBackup