共用方式為


快速入門:使用 PowerShell 設定 Azure Kubernetes Service (AKS) 叢集的保存庫備份

本快速入門說明如何使用 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 叢集準備好進行備份:

  1. 建立儲存體帳戶和 Blob 容器

    AKS 的備份會將 Kubernetes 資源儲存在 Blob 容器中作為備份。 若要讓 AKS 叢集準備好進行備份,您必須在叢集中安裝延伸模組。 此延伸模組需要儲存體帳戶和 Blob 容器作為輸入。

    若要建立新的儲存體帳戶和 Blob 容器,請參閱這些步驟

  2. 安裝備份延伸模組

    備份延伸模組必須安裝在 AKS 叢集中,才能執行任何備份和還原作業。 備份延伸模組會在叢集中建立命名空間 dataprotection-microsoft,並使用相同的命名空間來部署其資源。 延伸模組需要儲存體帳戶和 Blob 容器作為安裝的輸入。 了解延伸模組安裝命令

    在延伸模組安裝期間,系統會在 AKS 叢集的節點集區資源群組中建立使用者身分識別。 若要讓延伸模組存取儲存體帳戶,您必須提供此身分識別儲存體帳戶參與者角色。 若要指派必要的角色,請執行下列命令

  3. 啟用信任存取

    若要讓備份保存庫與 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"
    

準備要求

備份的設定會以兩個步驟執行:

備份的設定會以兩個步驟執行:

  1. 準備備份設定,以定義要使用 New-AzDataProtectionBackupConfigurationClientObject Cmdlet 備份哪些叢集資源。 在此範例中,我們將使用預設組態並執行完整叢集備份。

    $backupConfig = New-AzDataProtectionBackupConfigurationClientObject -SnapshotVolume $true -IncludeClusterScopeResource $true -DatasourceType AzureKubernetesService -LabelSelector "env=prod"
    
  2. 使用 Initialize-AzDataProtectionBackupInstance Cmdlet 搭配相關的保存庫、原則、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

下一步