Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym szybkim przewodniku opisano sposób konfiguracji kopii zapasowej klastra usługi Azure Kubernetes Service (AKS) przy użyciu usługi Azure Resource Manager.
Usługa Azure Backup for AKS to natywna dla chmury, gotowa do użycia w przedsiębiorstwie usługa tworzenia kopii zapasowych skoncentrowana na aplikacjach, która umożliwia szybkie konfigurowanie kopii zapasowych dla klastrów usługi AKS. Usługa Azure Backup umożliwia tworzenie kopii zapasowych klastrów usługi AKS przy użyciu wielu opcji , takich jak witryna Azure Portal, program PowerShell, interfejs wiersza polecenia, usługa Azure Resource Manager, Bicep itd. W przewodniku szybkiego startu opisano, jak backupować klastry AKS przy użyciu szablonu Azure Resource Manager i programu Azure PowerShell. Aby uzyskać więcej informacji na temat tworzenia szablonów usługi ARM, zobacz dokumentację usługi Azure Resource Manager
Szablon usługi Azure Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. Szablon używa składni deklaratywnej. Możesz opisać zamierzone wdrożenie bez konieczności pisania sekwencji poleceń programowania w celu utworzenia wdrożenia.
Prerequisites
Aby skonfigurować środowisko na potrzeby programowania aplikacji Bicep, zobacz Instalowanie narzędzi Bicep.
Note
Zainstaluj najnowszy moduł programu Azure PowerShell i interfejs wiersza polecenia Bicep zgodnie z opisem w artykule.
Przegląd szablonu
Ten szablon umożliwia skonfigurowanie kopii zapasowej klastra usługi AKS. W tym szablonie utworzymy magazyn kopii zapasowych z zasadami tworzenia kopii zapasowych dla klastra usługi AKS z czterogodzinnym harmonogramem i siedmiodniowym czasem przechowywania.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"resourceGroupName": { "type": "string" },
"resourceGroupLocation": { "type": "string" },
"backupResourceGroupName": { "type": "string" },
"backupResourceGroupLocation": { "type": "string" },
"aksClusterName": { "type": "string" },
"dnsPrefix": { "type": "string" },
"nodeCount": { "type": "int" },
"backupVaultName": { "type": "string" },
"datastoreType": { "type": "string" },
"redundancy": { "type": "string" },
"backupPolicyName": { "type": "string" },
"backupExtensionName": { "type": "string" },
"backupExtensionType": { "type": "string" },
"storageAccountName": { "type": "string" }
},
"variables": {
"backupContainerName": "tfbackup"
},
"resources": [
{
"type": "Microsoft.Resources/resourceGroups",
"apiVersion": "2021-04-01",
"location": "[parameters('resourceGroupLocation')]",
"name": "[parameters('resourceGroupName')]"
},
{
"type": "Microsoft.Resources/resourceGroups",
"apiVersion": "2021-04-01",
"location": "[parameters('backupResourceGroupLocation')]",
"name": "[parameters('backupResourceGroupName')]"
},
{
"type": "Microsoft.ContainerService/managedClusters",
"apiVersion": "2023-05-01",
"location": "[parameters('resourceGroupLocation')]",
"name": "[parameters('aksClusterName')]",
"properties": {
"dnsPrefix": "[parameters('dnsPrefix')]",
"agentPoolProfiles": [
{
"name": "agentpool",
"count": "[parameters('nodeCount')]",
"vmSize": "Standard_D2_v2",
"type": "VirtualMachineScaleSets",
"mode": "System"
}
],
"identity": {
"type": "SystemAssigned"
},
"networkProfile": {
"networkPlugin": "kubenet",
"loadBalancerSku": "standard"
}
},
"dependsOn": [
"[resourceId('Microsoft.Resources/resourceGroups', parameters('resourceGroupName'))]",
"[resourceId('Microsoft.Resources/resourceGroups', parameters('backupResourceGroupName'))]"
]
},
{
"type": "Microsoft.DataProtection/backupVaults",
"apiVersion": "2023-01-01",
"location": "[parameters('resourceGroupLocation')]",
"name": "[parameters('backupVaultName')]",
"identity": {
"type": "SystemAssigned"
},
"properties": {
"dataStoreType": "[parameters('datastoreType')]",
"redundancy": "[parameters('redundancy')]"
},
"dependsOn": [
"[resourceId('Microsoft.ContainerService/managedClusters', parameters('aksClusterName'))]"
]
},
{
"type": "Microsoft.DataProtection/backupVaults/backupPolicies",
"apiVersion": "2023-01-01",
"name": "[concat(parameters('backupVaultName'), '/', parameters('backupPolicyName'))]",
"properties": {
"backupRepeatingTimeIntervals": ["R/2024-04-14T06:33:16+00:00/PT4H"],
"defaultRetentionRule": {
"lifeCycle": {
"duration": "P7D",
"dataStoreType": "OperationalStore"
}
}
},
"dependsOn": [
"[resourceId('Microsoft.DataProtection/backupVaults', parameters('backupVaultName'))]"
]
},
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2022-05-01",
"location": "[parameters('backupResourceGroupLocation')]",
"name": "[parameters('storageAccountName')]",
"sku": {
"name": "Standard_LRS"
},
"kind": "StorageV2",
"dependsOn": [
"[resourceId('Microsoft.ContainerService/managedClusters', parameters('aksClusterName'))]"
]
},
{
"type": "Microsoft.Storage/storageAccounts/blobServices/containers",
"apiVersion": "2021-04-01",
"name": "[concat(parameters('storageAccountName'), '/default/', variables('backupContainerName'))]",
"properties": {
"publicAccess": "None"
},
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
]
},
{
"type": "Microsoft.KubernetesConfiguration/extensions",
"apiVersion": "2023-05-01",
"name": "[concat(parameters('aksClusterName'), '/', parameters('backupExtensionName'))]",
"properties": {
"extensionType": "[parameters('backupExtensionType')]",
"configurationSettings": {
"configuration.backupStorageLocation.bucket": "[variables('backupContainerName')]",
"configuration.backupStorageLocation.config.storageAccount": "[parameters('storageAccountName')]",
"configuration.backupStorageLocation.config.resourceGroup": "[parameters('backupResourceGroupName')]",
"configuration.backupStorageLocation.config.subscriptionId": "[subscription().subscriptionId]",
"credentials.tenantId": "[subscription().tenantId]"
}
},
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/blobServices/containers', parameters('storageAccountName'), 'default', variables('backupContainerName'))]"
]
}
],
"outputs": {
"aksClusterId": {
"type": "string",
"value": "[resourceId('Microsoft.ContainerService/managedClusters', parameters('aksClusterName'))]"
},
"backupVaultId": {
"type": "string",
"value": "[resourceId('Microsoft.DataProtection/backupVaults', parameters('backupVaultName'))]"
}
}
}
Wdrażanie szablonu
Aby wdrożyć szablon, zapisz go w repozytorium GitHub, a następnie wklej następujący skrypt PowerShell do okna powłoki.
$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 = "https//templateuri"
New-AzResourceGroup -Name $resourceGroupName -Location $location
New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateUri $templateUri -projectName
Dalsze kroki
- Przywracanie klastra usługi Azure Kubernetes Service przy użyciu programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure
- Zarządzanie kopiami zapasowymi klastra usługi Azure Kubernetes Service
- Informacje o kopii zapasowej klastra usługi Azure Kubernetes Service
Treści powiązane
Konfigurowanie kopii zapasowej na poziomie elementu dla klastra usługi AKS.