Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
In diesem Schnellstart wird beschrieben, wie Sie die Tresorsicherung für einen AKS-Cluster (Azure Kubernetes Service) über Azure Bicep konfigurieren.
Azure Backup für AKS ist ein cloudnativer, für Unternehmen geeigneter, anwendungsorientierter Sicherungsdienst, mit dem Sie die Sicherung für AKS-Cluster schnell konfigurieren können. MitAzure Backup können Sie Ihre AKS-Cluster über mehrere Optionen sichern – z. B. das Azure-Portal, PowerShell, die Befehlszeilenschnittstelle, Azure Resource Manager, Bicep usw. In dieser Schnellstartanleitung wird beschrieben, wie Sie ein AKS-Cluster mit einer Bicep-Datei und Azure PowerShell sichern. Weitere Informationen zum Entwickeln von Bicep-Dateien finden Sie in der Bicep-Dokumentation.
Bicep ist eine Sprache für die deklarative Bereitstellung von Azure-Ressourcen. Sie können Bicep anstelle von JSON verwenden, um Azure Resource Manager-Vorlagen (ARM-Vorlagen) zu erstellen. Die Bicep-Syntax reduziert die Komplexität und verbessert die Entwicklungserfahrung. Bicep ist eine transparente Abstraktion über die ARM-Vorlage JSON, die alle JSON-Vorlagenfunktionen bietet. Während der Bereitstellung konvertiert die Bicep CLI eine Bicep-Datei in eine ARM-Vorlage JSON. In einer Bicep-Datei werden die Azure-Ressourcen und Ressourceneigenschaften angegeben, ohne dass eine Folge von Programmierbefehlen zur Erstellung von Ressourcen geschrieben werden muss.
Ressourcentypen, API-Versionen und Eigenschaften, die in einer ARM-Vorlage gültig sind, sind auch in einer Bicep-Datei gültig.
Voraussetzungen
Informationen zum Einrichten Ihrer Umgebung für die Bicep-Entwicklung finden Sie unter Installieren von Bicep-Tools.
Hinweis
Installieren Sie das neueste Azure PowerShell-Modul und die Bicep CLI wie im Artikel beschrieben.
Überprüfen der Vorlage
Mithilfe dieser Vorlage können Sie die Sicherung für einen AKS-Cluster konfigurieren. In dieser Vorlage erstellen Sie einen Sicherungstresor mit einer Sicherungsrichtlinie für den AKS-Cluster mit einem vierstündigen Zeitplan und einer siebentägigen Aufbewahrungsdauer.
@description('Location for the resource group')
param resourceGroupLocation string
@description('Name of the resource group for AKS and Backup Vault')
param resourceGroupName string
@description('Name of the resource group for storage account and snapshots')
param backupResourceGroupName string
@description('Location for the backup resource group')
param backupResourceGroupLocation string
@description('AKS Cluster name')
param aksClusterName string
@description('DNS prefix for AKS')
param dnsPrefix string
@description('Node count for the AKS Cluster')
param nodeCount int
@description('Name of the Backup Vault')
param backupVaultName string
@description('Datastore type for the Backup Vault')
param datastoreType string
@description('Redundancy type for the Backup Vault')
param redundancy string
@description('Backup policy name')
param backupPolicyName string
@description('Name of the Backup Extension')
param backupExtensionName string
@description('Type of Backup Extension')
param backupExtensionType string
@description('Name of the Storage Account')
param storageAccountName string
var backupContainerName = 'tfbackup'
resource rg 'Microsoft.Resources/resourceGroups@2021-04-01' = {
location: resourceGroupLocation
name: resourceGroupName
}
resource backupRg 'Microsoft.Resources/resourceGroups@2021-04-01' = {
location: backupResourceGroupLocation
name: backupResourceGroupName
}
resource aksCluster 'Microsoft.ContainerService/managedClusters@2023-05-01' = {
location: resourceGroupLocation
name: aksClusterName
properties: {
dnsPrefix: dnsPrefix
agentPoolProfiles: [
{
name: 'agentpool'
count: nodeCount
vmSize: 'Standard_D2_v2'
type: 'VirtualMachineScaleSets'
mode: 'System'
}
]
identity: {
type: 'SystemAssigned'
}
networkProfile: {
networkPlugin: 'kubenet'
loadBalancerSku: 'standard'
}
}
dependsOn: [
rg
backupRg
]
}
resource backupVault 'Microsoft.DataProtection/backupVaults@2023-01-01' = {
location: resourceGroupLocation
name: backupVaultName
identity: {
type: 'SystemAssigned'
}
properties: {
dataStoreType: datastoreType
redundancy: redundancy
}
dependsOn: [
aksCluster
]
}
resource backupPolicy 'Microsoft.DataProtection/backupVaults/backupPolicies@2023-01-01' = {
name: '${backupVaultName}/${backupPolicyName}'
properties: {
backupRepeatingTimeIntervals: ['R/2024-04-14T06:33:16+00:00/PT4H']
defaultRetentionRule: {
lifeCycle: {
duration: 'P7D'
dataStoreType: 'OperationalStore'
}
}
}
dependsOn: [
backupVault
]
}
resource storageAccount 'Microsoft.Storage/storageAccounts@2022-05-01' = {
location: backupResourceGroupLocation
name: storageAccountName
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
dependsOn: [
aksCluster
]
}
resource backupContainer 'Microsoft.Storage/storageAccounts/blobServices/containers@2021-04-01' = {
name: '${storageAccount.name}/default/${backupContainerName}'
properties: {
publicAccess: 'None'
}
dependsOn: [
storageAccount
]
}
resource backupExtension 'Microsoft.KubernetesConfiguration/extensions@2023-05-01' = {
name: '${aksClusterName}/${backupExtensionName}'
properties: {
extensionType: backupExtensionType
configurationSettings: {
'configuration.backupStorageLocation.bucket': backupContainerName
'configuration.backupStorageLocation.config.storageAccount': storageAccountName
'configuration.backupStorageLocation.config.resourceGroup': backupResourceGroupName
'configuration.backupStorageLocation.config.subscriptionId': subscription().subscriptionId
'credentials.tenantId': subscription().tenantId
}
}
dependsOn: [
backupContainer
]
}
output aksClusterId string = aksCluster.id
output backupVaultId string = backupVault.id
Bereitstellen der Vorlage
Um diese Vorlage bereitzustellen, speichern Sie sie in GitHub oder an Ihrem bevorzugten Speicherort, und fügen Sie dann das folgende PowerShell-Skript in das Shellfenster ein. Klicken Sie zum Einfügen des Codes mit der rechten Maustaste auf das Shell-Fenster, und wählen Sie Einfügen aus.
$projectName = Read-Host -Prompt "Enter a project name (limited to eight characters) that is used to generate Azure resource names"
$location = Read-Host -Prompt "Enter the location (for example, centralus)"
$resourceGroupName = "${projectName}rg"
$templateUri = "templateURI"
New-AzResourceGroup -Name $resourceGroupName -Location $location
New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateUri $templateUri -projectName $projectName
Nächste Schritte
- Wiederherstellen von Azure Kubernetes-Dienstclustern über Azure PowerShell und die Azure CLI
- Verwalten von Azure Kubernetes Service Clustersicherungen
- Informationen über Azure Kubernetes Service Clustersicherung
Verwandte Inhalte
Konfigurieren sie die Sicherung auf Elementebene für einen AKS-Cluster.