本快速入門說明如何使用 PowerShell 設定 Azure Kubernetes Service (AKS) 叢集的保存庫備份。
適用於 AKS 的 Azure 備份是雲端原生、企業就緒、以應用程式為中心的備份服務,可讓您快速設定 AKS 叢集的備份。
在您開始使用 Intune 之前
設定 AKS 叢集的保存庫備份之前,請確定符合下列必要條件:
- 在起始 AKS 備份的備份或還原作業之前,請先執行 所有必要條件 。
建立備份保存庫
若要建立備份保存庫,請執行下列命令:
$storageSetting = New-AzDataProtectionBackupVaultStorageSettingObject -Type GloballyRedundant -DataStoreType VaultStore
New-AzDataProtectionBackupVault -ResourceGroupName testBkpVaultRG -VaultName TestBkpVault -Location westus -StorageSetting $storageSetting
$TestBkpVault = Get-AzDataProtectionBackupVault -VaultName TestBkpVault
新建立的保存庫具有設定為全域備援的記憶體設定,因此儲存在保存庫層中的備份將可在 Azure 配對區域中使用。 保存庫建立完成後,請建立備份原則來保護 AKS 叢集。
建立備份原則
使用 命令 Get-AzDataProtectionPolicyTemplate擷取原則範本。
$policyDefn = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureKubernetesService
原則範本包含觸發準則 (決定觸發備份作業的因素) 和生命週期 (決定何時刪除、複製或移動備份)。 在 AKS 備份中,觸發程式的預設值是排程的每小時觸發程式是 每 4 小時(PT4H), 而每個備份的保留期為 七天。 針對保存庫備份,新增保存庫數據存放區的保留期。
New-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name aksBkpPolicy -Policy $policyDefn
$aksBkpPol = Get-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "aksBkpPolicy"
原則 JSON 具有所有必要的值之後,請繼續從原則物件建立新的原則。
az dataprotection backup-policy create -g testBkpVaultRG --vault-name TestBkpVault -n mypolicy --policy policy.json
準備 AKS 叢集以進行備份
保存庫和原則建立完成後,您必須執行下列必要條件,讓 AKS 叢集準備好進行備份:
建立儲存體帳戶和 Blob 容器。
AKS 的備份會將 Kubernetes 資源儲存在 Blob 容器中作為備份。 若要讓 AKS 叢集準備好進行備份,您必須在叢集中安裝延伸模組。 此延伸模組需要儲存體帳戶和 Blob 容器作為輸入。
若要建立新的儲存體帳戶和 Blob 容器,請參閱這些步驟。
安裝備份延伸模組。
備份延伸模組必須安裝在 AKS 叢集中,才能執行任何備份和還原作業。 備份延伸模組會在叢集中建立命名空間
dataprotection-microsoft,並使用相同的命名空間來部署其資源。 延伸模組需要儲存體帳戶和 Blob 容器作為安裝的輸入。 了解延伸模組安裝命令。在延伸模組安裝期間,系統會在 AKS 叢集的節點集區資源群組中建立使用者身分識別。 若要讓延伸模組存取儲存體帳戶,您必須提供此身分識別儲存體帳戶參與者角色。 若要指派必要的角色,請執行下列命令
啟用信任存取
若要讓備份保存庫與 AKS 叢集連線,您必須啟用信任存取,因為它可讓備份保存庫能夠直接看到 AKS 叢集。 了解如何啟用信任存取。
注意
針對備份延伸模組安裝和信任存取啟用,命令僅適用於 Azure CLI。
設定備份
有了已建立的備份保存庫和備份原則,以及處於待備份狀態的 AKS 叢集,您現在可以開始備份 AKS 叢集。
主要實體
要保護的 AKS 叢集
擷取要保護 AKS 叢集的 Azure Resource Manager 識別碼。 這會作為叢集的識別碼。 在此範例中,讓我們在不同的訂用帳戶中使用資源群組 aksrg 下名為 PSTestAKSCluster 的 AKS 叢集:
$sourceClusterId = "/subscriptions/00001111-aaaa-2222-bbbb-3333cccc4444/resourcegroups/aksrg /providers/Microsoft.ContainerService/managedClusters/ PSTestAKSCluster "快照集資源群組
永續性磁碟區快照集會儲存在訂用帳戶中的資源群組中。 建議您建立專用的資源群組作為快照集資料存放區,供 Azure 備份服務使用。
$snapshotrg = "/subscriptions/00001111-aaaa-2222-bbbb-3333cccc4444/resourcegroups/snapshotrg"
準備要求
備份的設定會以兩個步驟執行:
備份的設定會以兩個步驟執行:
準備備份設定,以定義要使用
New-AzDataProtectionBackupConfigurationClientObjectCmdlet 備份哪些叢集資源。 在此範例中,我們將使用預設組態並執行完整叢集備份。$backupConfig = New-AzDataProtectionBackupConfigurationClientObject -SnapshotVolume $true -IncludeClusterScopeResource $true -DatasourceType AzureKubernetesService -LabelSelector "env=prod"使用
Initialize-AzDataProtectionBackupInstanceCmdlet 搭配相關的保存庫、原則、AKS 叢集、備份設定和快照集資源群組來準備相關要求。$backupInstance = Initialize-AzDataProtectionBackupInstance -DatasourceType AzureKubernetesService -DatasourceLocation $dataSourceLocation -PolicyId $ aksBkpPol.Id -DatasourceId $sourceClusterId -SnapshotResourceGroupId $ snapshotrg -FriendlyName $friendlyName -BackupConfiguration $backupConfig
指派必要的權限並進行驗證
備妥要求后,您必須先執行下列命令,將所需的角色指派給所涉及的資源:
Set-AzDataProtectionMSIPermission -BackupInstance $backupInstance -VaultResourceGroup $rgName -VaultName $vaultName -PermissionsScope "ResourceGroup"
指派權限之後,請執行下列 Cmdlet 來測試所建立執行個體的整備程度。
test-AzDataProtectionBackupInstanceReadiness -ResourceGroupName $resourceGroupName -VaultName $vaultName -BackupInstance $backupInstance.Property
驗證成功時,您可以使用 New-AzDataProtectionBackupInstance Cmdlet 提交要求來保護 AKS 叢集。
New-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstance $backupInstance