使用 Azure 备份管理 Azure Kubernetes 服务备份

本文介绍如何在订阅中注册资源提供程序,以便使用备份扩展和受信任访问。 此外,它还提供了 Azure CLI 命令来管理它们。

Azure 备份现在允许使用备份扩展(必须在群集中安装)备份 AKS 群集(群集资源和附加到群集的永久性卷)。 AKS 群集需要使用备份保管库启用受信任访问,以便保管库可以与备份扩展通信以执行备份和还原操作。

资源提供程序注册

  • 在启动任何备份和还原操作之前,必须在订阅上注册这些资源提供程序。
  • 注册完成后,可以对订阅下的所有群集执行备份和还原操作。

注册备份扩展

若要安装备份扩展,需要在订阅上注册 Microsoft.KubernetesConfiguration 资源提供程序。 要执行注册,请运行以下命令:

az provider register --namespace Microsoft.KubernetesConfiguration

注册可能最多需要 10 分钟。 若要监视注册过程,请运行以下命令:

az provider show --name Microsoft.KubernetesConfiguration --output table

本部分提供一组 Azure CLI 命令,用于对备份扩展执行创建、更新或删除操作。 可以使用 update 命令更改基础备份扩展 Pod 的计算限制。

安装备份扩展

若要安装备份扩展,请执行以下命令:

az k8s-extension create --name azure-aks-backup --extension-type microsoft.dataprotection.kubernetes --scope cluster --cluster-type managedClusters --cluster-name <aksclustername> --resource-group <aksclusterrg> --release-train stable --configuration-settings blobContainer=<containername> storageAccount=<storageaccountname> storageAccountResourceGroup=<storageaccountrg> storageAccountSubscriptionId=<subscriptionid>

查看备份扩展安装状态

若要查看备份扩展安装进度,请使用以下命令:

az k8s-extension show --name azure-aks-backup --cluster-type managedClusters --cluster-name <aksclustername> --resource-group <aksclusterrg>

更新备份扩展中的资源

若要更新备份扩展中的 blob 容器、CPU 和内存,请使用以下命令:

az k8s-extension update --name azure-aks-backup --cluster-type managedClusters --cluster-name <aksclustername> --resource-group <aksclusterrg> --release-train stable --configuration-settings [blobContainer=<containername> storageAccount=<storageaccountname> storageAccountResourceGroup=<storageaccountrg> storageAccountSubscriptionId=<subscriptionid>] [cpuLimit=1] [memoryLimit=1Gi]

[]: denotes the 3 different sub-groups of updates possible (discard the brackets while using the command)

删除备份扩展安装操作

若要停止备份扩展安装操作,请使用以下命令:

az k8s-extension delete --name azure-aks-backup --cluster-type managedClusters --cluster-name <aksclustername> --resource-group <aksclusterrg>

授予对存储帐户的权限

若要向存储帐户上的扩展标识提供“存储帐户参与者”权限,请运行以下命令:

az role assignment create --assignee-object-id $(az k8s-extension show --name azure-aks-backup --cluster-name <aksclustername> --resource-group <aksclusterrg> --cluster-type managedClusters --query aksAssignedIdentity.principalId --output tsv) --role 'Storage Blob Data Contributor' --scope /subscriptions/<subscriptionid>/resourceGroups/<storageaccountrg>/providers/Microsoft.Storage/storageAccounts/<storageaccountname> 

若要在备份保管库和 AKS 群集之间启用受信任的访问,请使用以下 Azure CLI 命令:

az aks trustedaccess rolebinding create \
--resource-group <aksclusterrg> \
--cluster-name <aksclustername> \
--name <randomRoleBindingName> \
--source-resource-id $(az dataprotection backup-vault show --resource-group <vaultrg> --vault <VaultName> --query id -o tsv) \
--roles Microsoft.DataProtection/backupVaults/backup-operator   

详细了解与受信任访问相关的其他命令

监视 AKS 备份作业已完成,但出现警告

执行计划备份或按需备份或还原操作时,将创建与操作对应的作业来跟踪其进度。 如果失败,这些作业让你可以识别错误代码并修复问题,以便稍后运行成功的作业。

对于 AKS 备份,备份和还原作业可以显示状态“已完成,但出现警告”。 当备份和还原操作未完全成功时,会出现此状态,原因是用户定义配置或工作负荷的内部状态出现问题。

屏幕截图:备份和还原作业已完成并显示警告。

例如,如果 AKS 群集的备份作业完成状态“已完成,但出现警告”,则会创建还原点,但根据备份配置,可能无法备份群集中的所有资源。 该作业将显示警告详细信息,提供操作期间受影响的问题资源

若要查看这些警告,请选择“警告详细信息”旁边的“查看详细信息”。

屏幕截图:作业预热详细信息。

了解如何识别和解决错误

后续步骤