Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel erfahren Sie, wie Sie Azure Kubernetes Service (AKS) mit Azure PowerShell konfigurieren und sichern.
Mit Azure Backup können Sie jetzt AKS-Cluster (Clusterressourcen und an den Cluster angefügte persistente Volumes) mithilfe einer Sicherungserweiterung sichern. Diese Erweiterung muss im Cluster installiert werden. Der Sicherungstresor kommuniziert über diese Backup-Erweiterung mit dem Cluster, um Sicherungs- und Wiederherstellungsvorgänge auszuführen.
Voraussetzungen
Bevor Sie mit der Sicherung eines AKS-Clusters beginnen, sollten Sie die folgenden Voraussetzungen prüfen:
Derzeit unterstützt die AKS-Sicherung nur Azure Disk-basierte persistente Volumes (aktiviert durch den CSI-Treiber). Die Sicherungen werden nur im operativen Datenspeicher (in Ihrem Mandanten) gespeichert und nicht in einen Tresor verschoben. Der Sicherungstresor und der AKS-Cluster sollten sich in derselben Region befinden.
Die AKS-Sicherung verwendet einen Blobcontainer und eine Ressourcengruppe, um die Sicherungen zu speichern. Im Blobcontainer sind die AKS-Clusterressourcen gespeichert, während die Momentaufnahmen des persistenten Volumes in der Ressourcengruppe gespeichert werden. Der AKS-Cluster und die Speicherorte müssen sich in derselben Region befinden. Erfahren Sie, wie Sie einen Blobcontainer erstellen.
Derzeit unterstützt die AKS-Sicherung das Anlegen von Sicherungen einmal pro Tag. Darüber hinaus werden häufigere Sicherungen (in Intervallen von 4, 8 und 12 Stunden) pro Tag unterstützt. Mit dieser Lösung können Sie Ihre Daten bis zu 360 Tage lang für die Wiederherstellung aufbewahren. Erfahren Sie, wie Sie eine Sicherungsrichtlinie erstellen.
Sie müssen die Sicherungserweiterung installieren, um Sicherungs- und Wiederherstellungsvorgänge in einem AKS-Cluster zu konfigurieren. Erfahren Sie mehr über die Sicherungserweiterung.
Vergewissern Sie sich, dass
Microsoft.KubernetesConfiguration,Microsoft.DataProtectionundMicrosoft.ContainerServicefür Ihr Abonnement registriert sind, bevor Sie die Sicherungskonfiguration und die Wiederherstellungsvorgänge starten.Stellen Sie sicher, dass Sie alle Voraussetzungen erfüllen, bevor Sie einen Sicherungs- oder Wiederherstellungsvorgang für die AKS-Sicherung initiieren.
Weitere Informationen zu den unterstützten Szenarien sowie zu Einschränkungen und zur Verfügbarkeit finden Sie in der Supportmatrix.
Erstellen eines Backup-Tresors für AKS-Backups
Ein Sicherungstresor ist eine Verwaltungsentität in Azure, die Sicherungsdaten für verschiedene neuere Workloads speichert, die von Azure Backup unterstützt werden, z. B. Azure Database for PostgreSQL Server und Azure-Datenträger. Backup-Tresore vereinfachen die Organisation Ihrer Sicherungsdaten und minimieren gleichzeitig den Verwaltungsaufwand. Sie basieren auf dem Azure Resource Manager-Modell, das erweiterte Funktionen bietet, die das Schützen von Sicherungsdaten erleichtern. Wählen Sie vor dem Erstellen eines Backup-Tresors die Speicherredundanz der Daten im Tresor aus, und erstellen Sie dann den Sicherungstresor mit dieser Speicherredundanz und dem Speicherort.
Hier wird der Backup-Tresor TestBkpVault in der Region USA, Westen unter der Ressourcengruppe testBkpVaultRG erstellt. Verwenden Sie das Cmdlet New-AzDataProtectionBackupVault, um einen Backup-Tresor zu erstellen. Weitere Informationen finden Sie unter Erstellen eines Sicherungstresors.
Hinweis
Obwohl der ausgewählte Tresor möglicherweise über die Einstellung globale Redundanz verfügt, unterstützt die Sicherung für AKS derzeit nur die betriebsbezogene Ebene. Alle Sicherungen werden in Ihrem Abonnement in derselben Region wie der AKS-Cluster gespeichert und nicht in den Backup-Tresor kopiert.
Führen Sie zum Definieren der Speichereinstellungen des Backup-Tresors das folgende Cmdlet aus:
Hinweis
Der Tresor wird nur mit Unterstützung für lokale Redundanz und operativer Datenspeicher erstellt.
$storageSetting = New-AzDataProtectionBackupVaultStorageSettingObject -Type LocallyRedundant -DataStoreType OperationalStoreFühren Sie das folgende Cmdlet aus, um den Backup-Tresor gemäß den zuvor erwähnten Details zu erstellen:
New-AzDataProtectionBackupVault -ResourceGroupName testBkpVaultRG -VaultName TestBkpVault -Location westus -StorageSetting $storageSetting $TestBkpVault = Get-AzDataProtectionBackupVault -VaultName TestBkpVault
Erstellen Sie nach Abschluss der Tresorerstellung eine Sicherungsrichtlinie zum Schutz von AKS-Clustern.
Erstellen einer Sicherungsrichtlinie für AKS-Cluster
Mit Azure Backup können Sie Sicherungsrichtlinien für den Schutz von AKS-Clustern mit täglichen Sicherungen oder mehreren Sicherungen pro Tag erstellen.
Um eine Sicherungsrichtlinie für AKS-Cluster zu erstellen, führen Sie die folgenden Cmdlets aus:
Rufen Sie die Richtlinienvorlage mit dem Cmdlet
Get-AzDataProtectionPolicyTemplateab und prüfen Sie die inneren Komponenten einer Sicherungsrichtlinie für die Sicherung von AKS. Dieser Befehl gibt eine Standardrichtlinienvorlage für einen angegebenen DataSource-Typ zurück. Verwenden Sie diese Richtlinienvorlage, um eine neue Richtlinie zu erstellen.$policyDefn = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureKubernetesServiceDie Richtlinienvorlage besteht aus einem Auslöserkriterium (das die Faktoren zum Auslösen des Sicherungsauftrags bestimmt) und einem Lebenszyklus (der entscheidet, wann die Sicherungen gelöscht, kopiert oder verschoben werden sollen). In der AKS-Sicherung ist der Standardwert für Auslöser ein geplanter stündlicher Auslöser alle 4 Stunden (PT4H) und die Aufbewahrung jeder Sicherung liegt bei 7 Tagen.
$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:Für die Häufigkeit täglicher Sicherungen geben Sie die Tageszeit an, zu der Ihre Sicherungen erstellt werden sollen.
Wichtig
Die Uhrzeit gibt die Startzeit der Sicherung an und nicht die Zeit, zu der die Sicherung abgeschlossen ist. Die für den Abschluss des Sicherungsvorgangs erforderliche Zeit hängt von verschiedenen Faktoren ab, einschließlich der Anzahl und Größe der persistenten Volumes und Churns zwischen aufeinanderfolgenden Sicherungen.
Die Sicherung für AKS bietet mehrere Sicherungen pro Tag. Die Sicherungen werden gleichmäßig über den Tag verteilt, wenn Sie häufigere Sicherungen benötigen, indem Sie die Häufigkeit der stündlichen Sicherungen auswählen, mit der Sicherungen mit Intervallen von 4, 6, 8 oder 12 Stunden erstellt werden können. Die Sicherungen werden basierend auf dem unter Zeitintervall ausgewählten Intervall geplant. Wenn Sie z. B. Alle 4 Stunden auswählen, werden die Sicherungen im Intervall von ungefähr 4 Stunden durchgeführt.
Wenn Sie die stündliche Häufigkeit oder die Beibehaltungsdauer bearbeiten möchten, verwenden Sie die Cmdlets
Edit-AzDataProtectionPolicyTriggerClientObjectund/oderEdit-AzDataProtectionPolicyRetentionRuleClientObject. Sobald das Richtlinienobjekt alle gewünschten Werte aufweist, erstellen Sie mit dem CmdletNew-AzDataProtectionBackupPolicyeine neue Richtlinie aus dem Richtlinienobjekt.New-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name aksBkpPolicy -Policy $policyDefn $aksBkpPol = Get-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "aksBkpPolicy"
Vorbereiten des AKS-Clusters für die Sicherung
Nach Abschluss der Tresor- und Richtlinienerstellung müssen Sie die folgenden Voraussetzungen erfüllen, um den AKS-Cluster für die Sicherung vorzubereiten:
Speicherkonto und Blob-Container erstellen
Sicherung für AKS speichert Kubernetes-Ressourcen in einem Blobcontainer als Sicherungen. Um den AKS-Cluster für die Sicherung vorzubereiten, müssen Sie eine Erweiterung im Cluster installieren. Diese Erweiterung erfordert das Speicherkonto und den Blobcontainer als Eingaben.
Führen Sie diese Schritte aus, um ein neues Speicherkonto und einen Blobcontainer zu erstellen.
Hinweis
- Das Speicherkonto und der AKS-Cluster sollten sich in derselben Region und in demselben Abonnement befinden.
- Der Blobcontainer sollte keine zuvor erstellten Dateisysteme enthalten (außer durch Sicherung für AKS erstellt).
- Wenn sich Ihr Quell- oder Ziel-AKS-Cluster in einem privaten virtuellen Netzwerk befindet, müssen Sie einen privaten Endpunkt erstellen, um das Speicherkonto mit dem AKS-Cluster zu verbinden.
Sicherungserweiterung installieren
Die Sicherungserweiterung muss im AKS-Cluster installiert werden, um Sicherungs- und Wiederherstellungsvorgänge auszuführen. Die Sicherungserweiterung erstellt einen Namespace
dataprotection-microsoftim Cluster und verwendet denselben, um die Ressourcen bereitzustellen. Diese Erweiterung erfordert das Speicherkonto und den Blobcontainer als Eingaben für die Installation. Erfahren Sie mehr über die Erweiterungsinstallationsbefehle.Im Rahmen der Erweiterungsinstallation wird eine Benutzeridentität in der Knotenpool-Ressourcengruppe des AKS-Clusters erstellt. Damit die Erweiterung auf das Speicherkonto zugreifen kann, müssen Sie für diese Identität die Rolle Mitwirkender des Speicherkontos angeben. Um die erforderliche Rolle zuzuweisen, führen Sie diesen Befehl aus.
Vertrauenswürdigen Zugriff aktivieren
Damit der Backup-Tresor eine Verbindung mit dem AKS-Cluster herstellen kann, müssen Sie den vertrauenswürdigen Zugriff aktivieren, da der Sicherungstresor so eine direkte Sichtverbindung zum AKS-Cluster hat. Erfahren Sie, wie Sie den vertrauenswürdigen Zugriff aktivieren.
Hinweis
Für die Installation der Sicherungserweiterung und die Aktivierung des vertrauenswürdigen Zugriffs sind die Befehle nur in Azure CLI verfügbar.
Konfigurieren von Sicherungen für AKS-Cluster
Mit dem erstellten Backup-Tresor, der Sicherungsrichtlinie und dem AKS-Cluster, der sich im Status Bereit für die Sicherung befindet, können Sie jetzt mit der Sicherung Ihres AKS-Clusters beginnen.
Schlüsselentitäten
Zu schützender AKS-Cluster
Rufen Sie die Azure Resource Manager ID (ARM ID) des zu schützenden AKS-Clusters ab. Sie fungiert als Bezeichner des Clusters. In diesem Beispiel verwenden wir einen AKS-Cluster namens PSTestAKSCluster unter der Ressourcengruppe aksrg in einem anderen Abonnement:
$sourceClusterId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/aksrg /providers/Microsoft.ContainerService/managedClusters/ PSTestAKSCluster "Momentaufnahme der Ressourcengruppe
Die Momentaufnahmen des persistenten Volumes werden in einer Ressourcengruppe in Ihrem Abonnement gespeichert. Wir empfehlen, eine dedizierte Ressourcengruppe als Momentaufnahmen-Datenspeicher zu erstellen, der vom Azure Backup-Dienst verwendet werden soll. Mit einer dedizierten Ressourcengruppe lassen sich die Zugriffsrechte auf die Ressourcengruppe beschränken, was Sicherheit gewährleistet und eine einfache Verwaltung der Sicherungsdaten ermöglicht. Speichern Sie die Azure Resource Manager-ID der Ressourcengruppe unter dem Speicherort, an dem Sie die Momentaufnahmen des persistenten Volumes speichern möchten.
$snapshotrg = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/snapshotrg"
Vorbereiten der Anforderung
Die Konfiguration der Sicherung erfolgt in zwei Schritten:
Bereiten Sie die Sicherungskonfiguration vor, um zu definieren, welche Clusterressourcen mithilfe des Cmdlets
New-AzDataProtectionBackupConfigurationClientObjectgesichert werden sollen. Im folgenden Beispiel wird die Konfiguration als alle Clusterressourcen unter „Aktuell“ definiert, und zukünftige Namespaces werden mit der Bezeichnungkey-value pair x=ygesichert. Außerdem werden alle Ressourcen mit Clusterbereich und persistente Volumes gesichert. Die folgenden Namespaces werden von der Sicherungskonfiguration übersprungen und nicht für Sicherungen konfiguriert: kube-system, kube-node-lease, kube-public.$backupConfig = New-AzDataProtectionBackupConfigurationClientObject -SnapshotVolume $true -IncludeClusterScopeResource $true -DatasourceType AzureKubernetesService -LabelSelector "env=prod"Bereiten Sie die relevante Anforderung mithilfe des entsprechenden Tresors, der Richtlinie, des AKS-Clusters, der Sicherungskonfiguration und Momentaufnahme-Ressourcengruppe mit dem Cmdlet
Initialize-AzDataProtectionBackupInstancevor.$backupInstance = Initialize-AzDataProtectionBackupInstance -DatasourceType AzureKubernetesService -DatasourceLocation $dataSourceLocation -PolicyId $ aksBkpPol.Id -DatasourceId $sourceClusterId -SnapshotResourceGroupId $ snapshotrg -FriendlyName $friendlyName -BackupConfiguration $backupConfig
Zuweisen der erforderlichen Berechtigungen und Überprüfen
Führen Sie die folgenden Cmdlets aus, um die erforderlichen Berechtigungen zuzuweisen und die Prüfung für den AKS-Clusterschutz durchzuführen:
Nachdem die Anforderung vorbereitet ist, müssen Sie dem Benutzer die erforderlichen Berechtigungen über die rollenbasierte Zugriffssteuerung in Azure (Azure RBAC) für den Tresor (dargestellt durch die verwaltete Systemidentität des Tresors) und den AKS-Cluster zuweisen. Sie können dies mit dem Cmdlet
Set-AzDataProtectionMSIPermissionausführen. Der Sicherungstresor verwendet die verwaltete Identität für den Zugriff auf andere Azure-Ressourcen. Um die Sicherung des AKS-Clusters zu konfigurieren, erfordert die verwaltete Identität das Backup-Tresors eine Reihe von Berechtigungen für den AKS-Cluster und die Ressourcengruppen, auf denen Momentaufnahmen erstellt und verwaltet werden. Außerdem erfordert der AKS-Cluster die Berechtigung für die Momentaufnahme-Ressourcengruppe.Hinweis
Nur die systemseitig zugewiesene verwaltete Identität wird derzeit für Sicherungen unterstützt (sowohl Backup-Tresor als auch AKS-Cluster). Eine systemseitig zugewiesene verwaltete Identität ist auf eine Ressource beschränkt und an den Lebenszyklus dieser Ressource gebunden. Sie können der verwalteten Identität Berechtigungen über Azur RBAC erteilen. Eine verwaltete Identität ist ein spezieller Dienstprinzipal, der nur zusammen mit Azure-Ressourcen verwendet werden kann. Weitere Informationen zu verwalteten Identitäten.
Set-AzDataProtectionMSIPermission -BackupInstance $backupInstance -VaultResourceGroup $rgName -VaultName $vaultName -PermissionsScope "ResourceGroup"Sobald die Berechtigungen zugewiesen sind, testen Sie die Bereitschaft der erstellten Instanz.
test-AzDataProtectionBackupInstanceReadiness -ResourceGroupName $resourceGroupName -VaultName $vaultName -BackupInstance $backupInstance.PropertyWenn die Prüfung erfolgreich ist, übermitteln Sie die Anfrage zum Schutz des AKS-Clusters mit dem Cmdlet
New-AzDataProtectionBackupInstance.New-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstance $backupInstance
Ausführen einer On-Demand-Sicherung für AKS-Cluster
Um eine On-Demand-Sicherung auszulösen, führen Sie die folgenden Cmdlets aus:
Rufen Sie die entsprechende Sicherungsinstanz ab, auf der Sie eine Sicherung auslösen möchten, indem Sie das Cmdlet
Get-AzDataProtectionBackupInstanceausführen.$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxx-xxx-xxx" -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "BackupInstanceName"Legen Sie beim Auslösen der Sicherung eine Aufbewahrungsregel fest. Navigieren Sie zum Anzeigen der Aufbewahrungsregeln in der Richtlinie zum Richtlinienobjekt für Aufbewahrungsregeln. Im folgenden Beispiel wird die Regel mit dem Namen Default angezeigt, und wir verwenden diese Regel für die bedarfsgesteuerte Sicherung.
$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: AzureRetentionRuleLösen Sie eine On-Demand-Sicherung mit dem Cmdlet
Backup-AzDataProtectionBackupInstanceAdhocaus.$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name Backup-AzDataProtectionBackupInstanceAdhoc -BackupInstanceName $AllInstances[0].Name -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupRuleOptionRuleName "Default"
AKS-Sicherungsaufträge nachverfolgen
Verfolgen Sie alle Aufträge mit dem Cmdlet Get-AzDataProtectionJob. Sie können alle Aufträge auflisten und ein bestimmtes Auftragsdetail abrufen. Sie können das Cmdlet Az.ResourceGraph auch verwenden, um alle Aufträge über alle Backup-Tresore hinweg zu verfolgen. Verwenden Sie das Cmdlet Search-AzDataProtectionJobInAzGraph, um die relevanten Auftragsdetails aus einem beliebigen Backup-Tresor abzurufen.
$job = Search-AzDataProtectionJobInAzGraph -Subscription $sub -ResourceGroupName "testBkpVaultRG" -Vault $TestBkpVault.Name -DatasourceType AzureKubernetesService -Operation OnDemandBackup