使用 Azure 备份的 Azure Kubernetes 服务备份的先决条件

本文介绍 Azure Kubernetes 服务 (AKS) 备份的先决条件。

Azure 备份现在允许使用备份扩展(必须在群集中安装)备份 AKS 群集(群集资源和附加到群集的永久性卷)。 备份保管库通过此备份扩展与群集通信,以执行备份和还原操作。 基于最低特权安全模型,备份保管库必须启用受信任访问才能与 AKS 群集通信。

备份分机号

  • 该扩展为 AKS 群集中运行的工作负荷使用的容器化工作负荷和永久性卷启用备份和还原功能。

  • 默认情况下,备份扩展安装在其自己的命名空间 dataprotection-microsoft 中。 它在群集范围内安装,允许扩展访问所有群集资源。 在扩展安装期间,它还会在节点池资源组中创建一个用户分配的托管标识(扩展标识)。

  • 备份扩展使用 blob 容器(安装期间在输入中提供)作为备份存储的默认位置。 若要访问此 blob 容器,扩展标识需要在拥有容器的存储帐户上具有“存储 Blob 数据参与者”角色

  • 需要在要备份的源群集和要还原备份的目标群集上安装备份扩展。

  • 可以从“设置”下的“备份”选项卡上的“AKS 门户”边栏选项卡将备份扩展安装在群集中。 你还可以使用 Azure CLI 命令来管理备份扩展上的安装和其他操作

  • 在 AKS 群集中安装扩展之前,必须在订阅级别注册 Microsoft.KubernetesConfiguration 资源提供程序。 了解如何注册资源提供程序

  • 扩展代理和扩展运算符是 AKS 中的核心平台组件,在 AKS 群集中首次安装任何类型的扩展时将安装这些组件。 它们提供了用于部署第一方和第三方扩展的功能。 备份扩展也依赖于它们进行安装和升级。

    注意

    这两个核心组件的部署都对 CPU 和内存进行了严格的硬限制,即 CPU 小于核心的 0.5%,且内存限制范围为 50-200 MB。 因此,这些组件的 COGS 影响非常小。 由于它们是核心平台组件,因此在群集中安装后,无法删除它们。

  • 如果作为扩展安装的输入提供的存储帐户位于虚拟网络/防火墙下,则需要在“存储帐户网络设置”中将 BackupVault 添加为受信任的访问。 了解如何授予对受信任的 Azure 服务的访问权限,这有助于将备份存储在保管库数据存储中

了解如何使用 Azure CLI 管理安装备份扩展的操作

受信任的访问

许多 Azure 服务依赖于 clusterAdmin kubeconfig 和可公开访问的 kube-apiserver 终结点来访问 AKS 群集。 通过“AKS 受信任的访问”功能,可以绕过专用终结点限制。 无需使用 Microsoft Entra 应用程序,此功能使你能够明确同意系统分配的允许资源标识使用 Azure 资源 RoleBinding 访问你的 AKS 群集。 通过该功能,可访问具有不同配置的 AKS 群集,这些群集不限于专用群集、禁用了本地帐户的群集、Microsoft Entra ID 群集和授权的 IP 范围群集。

Azure 资源通过 AKS 区域网关使用系统分配的托管标识身份验证访问 AKS 群集。 托管标识必须具有通过 Azure 资源角色分配的相应 Kubernetes 权限。

对于 AKS 备份,备份保管库通过受信任的访问来访问 AKS 群集,以配置备份和还原。 备份保管库在 AKS 群集中分配有预定义角色 Microsoft.DataProtection/backupVaults/backup-operator,允许它仅执行特定的备份操作

若要在备份保管库和 AKS 群集之间启用受信任的访问, 请了解如何启用受信任的访问

注意

  • 可以直接从 AKS 门户“备份”部分之下的 Azure 门户,在 AKS 群集上安装备份扩展。
  • 此外,在 Azure 门户中进行备份或还原操作期间,还可以在备份保管库和 AKS 群集之间启用受信任访问。

AKS 群集

若要为 AKS 群集启用备份,请参阅以下先决条件:。

  • AKS 备份使用容器存储接口 (CSI) 驱动程序快照功能来执行永久性卷的备份。 CSI 驱动程序支持适用于 Kubernetes 版本 1.21.1 或更高版本的 AKS 群集。

    注意

    • 目前,AKS 备份仅支持备份(由 CSI 驱动程序启用的)基于 Azure 磁盘的永久性卷。 如果在 AKS 群集中使用 Azure 文件共享和 Azure Blob 类型永久性卷,则可以通过适用于 Azure 文件共享Azure Blob 的 Azure 备份解决方案为其配置备份。
    • 在树中,AKS 备份不支持卷;只能备份基于 CSI 驱动程序的卷。 可以从树卷迁移到基于 CSI 驱动程序的永久性卷
  • 在 AKS 群集中安装备份扩展之前,请确保为群集启用 CSI 驱动程序和快照。 如果已禁用,请参阅这些步骤来启用它们

  • 适用于 AKS 的 Azure 备份支持使用系统分配的托管标识或用户分配的托管标识进行备份操作的 AKS 群集。 尽管不支持使用服务主体的群集,但可以更新现有 AKS 群集以使用系统分配的托管标识用户分配的托管标识

  • 安装期间的备份扩展会提取存储在 Microsoft 容器注册表 (MCR) 中的容器映像。 如果在 AKS 群集上启用防火墙,则扩展安装过程可能会因注册表访问问题而失败。 了解如何允许从防火墙访问 MCR

  • 如果群集位于专用虚拟网络和防火墙中,请应用以下 FQDN/应用程序规则:*.microsoft.com*.azure.com*.azmk8s.io*.core.windows.net*.digicert.com*.digicert.cn*.geotrust.com*.msocsp.com。 了解如何应用 FQDN 规则

  • 如果以前在 AKS 群集中安装过 Velero,则需要在安装备份扩展之前将其删除。

所需的角色和权限

若要以用户身份执行 AKS 备份和还原操作,需要在 AKS 群集、备份保管库、存储帐户和快照资源组上具有特定角色。

范围 首选角色 说明
AKS 群集 所有者 允许安装备份扩展、启用受信任的访问并授予对群集上的备份保管库的权限。
备份保管库资源组 备份参与者 允许在资源组中创建备份保管库、创建备份策略、配置备份,以及还原和分配备份操作所需的缺失角色。
存储帐户 所有者 允许对存储帐户执行读取和写入操作,并在备份操作过程中将所需角色分配给其他 Azure 资源。
快照资源组 所有者 允许对快照资源组执行读取和写入操作,并在备份操作过程中将所需角色分配给其他 Azure 资源。

注意

Azure 资源的“所有者”角色允许对该资源执行 Azure RBAC 操作。 如果不可用,资源所有者必须在启动备份或还原操作之前向备份保管库和 AKS 群集提供所需的角色。

此外,在备份和还原操作过程中,会将以下角色分配给 AKS 群集、备份扩展标识和备份保管库。

角色 分配对象 分配日期 说明
读取器 备份保管库 AKS 群集 允许备份保管库对 AKS 群集执行“列表”和“读取”操作。
读取器 备份保管库 快照资源组 允许备份保管库对快照资源组执行“列出”和“读取”操作。
参与者 AKS 群集 快照资源组 允许 AKS 群集在资源组中存储永久性卷快照。
存储 Blob 数据参与者 扩展标识 存储帐户 允许备份扩展将群集资源备份存储在 blob 容器中。
托管磁盘的数据操作员 备份保管库 快照资源组 允许备份保管库服务将增量快照数据移动到保管库。
磁盘快照参与者 备份保管库 快照资源组 允许备份保管库访问磁盘快照并执行保管库操作。
存储 Blob 数据读者 备份保管库 存储帐户 允许备份保管库访问存储有备份数据的 Blob 容器并将数据移动到保管库。
参与者 备份保管库 暂存资源组 允许备份保管库将备份还原为存储在保管库层中的磁盘。
存储帐户参与者 备份保管库 暂存存储帐户 允许备份保管库还原存储在保管库层中的备份。
存储 Blob 数据负责人 备份保管库 暂存存储帐户 允许备份保管库将群集状态复制到保管库层中存储的 blob 容器中。

注意

借助 AKS 备份,只需单击一下即可在备份和还原过程中通过 Azure 门户分配这些角色。

后续步骤