Azure Kubernetes 服务备份支持矩阵

可以使用 Azure 备份来保护 Azure Kubernetes 服务 (AKS)。 本文总结了区域可用性、支持的方案以及限制。

支持的区域

  • AKS 的 Azure 备份支持将备份数据存储在以下 Azure 区域的保管库和作(快照)层中:

澳大利亚中部、澳大利亚中部 2、澳大利亚东部、澳大利亚东南部、巴西南部、巴西东南部、加拿大中部、加拿大东部、印度中部、美国中部、美国中部、美国东部 2、法国中部、法国南部、德国北部、德国中西部、意大利北部、日本东部、日本西部、Jio 印度西部、韩国中部、韩国南部、美国中北部、北欧、挪威东部、 挪威西部、南非北部、南非西部、美国中南部、印度南部、东南亚、瑞典中部、瑞士北部、瑞士西部、阿联酋北部、英国南部、英国西部、美国中西部、西欧、美国西部 2、美国西部 3

  • 以下区域仅支持作(快照)层:

中国东部 2、中国东部 3、中国北部 2、中国北部 3、US GOV 亚利桑那、US GOV 得克萨斯州、US GOV 弗吉尼亚州、以色列中部、波兰中部和西班牙中部

注意

如果需要异地冗余备份且能够按需还原,请将备份存储在保管库层中,并在备份保管库上启用跨区域还原。 这可确保备份在配对的 Azure 区域中也可用,即使主要区域不可用,也允许执行还原。 请参阅 Azure 配对区域列表

支持的场景

  • AKS 的 Azure 备份仅支持运行支持的 Kubernetes 版本的群集。 下面是受支持的 Kubernetes 版本列表。 如果群集的版本不受支持,备份作仍可能运行,但在备份或还原期间失败的情况并未涵盖。 为了确保完全支持和可靠性,请升级到受支持的版本,验证备份,并在问题仍然存在时联系支持。

  • AKS 的 Azure 备份仅支持基于 CSI 驱动程序的永久性卷(Azure 磁盘)。 不支持树中卷插件。 确保为群集启用了 CSI 驱动程序和快照。 如果已禁用,请启用这些设置。 此外,如果工作负荷使用树内卷, 请将其迁移到基于 CSI 的卷,以启用备份支持

  • AKS 的 Azure 备份目前仅支持使用 CSI 驱动程序预配的基于 Azure 磁盘的永久性卷。 支持的磁盘 SKU 包括标准 HDD、标准 SSD 和高级 SSD。

  • 支持动态和静态预配卷;但是,对于静态卷,必须在 YAML 规范中显式定义存储类,否则,将在备份期间跳过卷。

  • AKS 的 Azure 备份支持使用 系统分配 的托管 标识或用户分配的托管标识的群集。 不支持使用服务主体配置的群集。 若要启用备份,请将群集更新为使用系统分配的托管标识或用户分配的托管标识。

  • AKS 的 Azure 备份提供作层和保管库层备份。 作层备份包含支持的永久性卷类型的快照,以及存储在备份扩展安装期间指定的 Blob 容器中的元数据。 另一方面,保管库层备份存储在场外,安全且不在租户之外。 使用备份策略,可以选择同时启用作层和保管库层备份,或仅使用作层。

  • 作为作层备份的一部分拍摄的永久性卷快照本质上是崩溃一致的。 尽管 AKS 的 Azure 备份目前不支持以完全相同的毫秒创建所有 PV 的快照,以实现跨卷的一致快照。

  • AKS 的 Azure 备份中支持的最小备份频率为 4 小时,另外还有 6、8、12 和 24 小时的间隔选项。 备份预计将在计划开始时间后的 2 小时内完成。 这些频率适用于作层备份,允许每天进行多个备份。 但是,在 24 小时内,只有第一次成功备份才有资格传输到保管库层。 在作层中创建备份后,最多可能需要四个小时才能将其移动到保管库层。

  • 备份保管库和 AKS 群集应位于同一区域。 但是,它们可以位于不同的订阅中,只要是在同一租户中即可。

  • AKS 的 Azure 备份支持使用作和保管库层备份将备份还原到相同或不同的 AKS 群集。 目标 AKS 群集可以位于同一订阅或不同的订阅中,称为 跨订阅还原

  • 从作层还原时,目标 AKS 群集必须与备份位于同一区域。 但是,如果备份存储在保管库层中,并在备份保管库上启用了 异地冗余存储设置跨区域还原 ,则可以还原到 Azure 配对区域中的其他区域。

  • 若要使用 Azure CLI 为 AKS 启用 Azure 备份,请确保使用的是版本 2.41.0 或更高版本。 可以通过运行 az upgrade 命令来升级 CLI。

  • 若要使用 Terraform 为 AKS 启用 Azure 备份,请使用版本 3.99.0 或更高版本。

  • AKS 的 Azure 备份要求安装备份扩展。 此扩展需要存储帐户,最好是在安装时将其中的空 Blob 容器作为输入。 不要将 Blob 容器用于非备份相关文件。

  • 在安装备份扩展期间指定的存储帐户必须与 AKS 群集位于同一区域。 仅支持常规用途 v2 存储帐户;不支持高级存储帐户。

  • 如果 AKS 群集部署在专用虚拟网络中,则必须将专用终结点配置为启用备份作。

  • 备份扩展只能在使用基于 x86 的处理器并运行 Ubuntu 或 Azure Linux 作为作系统的节点池上安装。

  • 在执行任何备份或还原作(包括删除过期的恢复点)之前,AKS 群集和备份扩展 Pod 都必须处于运行和正常状态。

  • 用于 AKS 的 Azure 备份通过 Azure Monitor 提供警报,使你可以在不同的 Azure 服务(包括经典警报、内置 Azure Monitor 警报和用于备份失败通知的自定义日志警报)之间获得一致的警报管理体验。 此处提供了支持的备份警报

  • AKS 的 Azure 备份支持各种与备份相关的报表。 目前,只能通过为报表筛选器中的工作负荷类型选择“全部”来查看备份数据。 此处提供了支持的备份报告

  • AKS 的 Azure 备份支持 增强型软删除 ,用于保管库层中存储的备份,从而防止意外或恶意删除。 对于存储在作层中的备份,基础快照不受软删除的保护,可以永久删除。

  • 用于 AKS 的 Azure 备份支持 多用户授权(MUA), 允许向配置备份的备份保管库上的关键作添加额外的保护层。

  • 适用于 AKS 的 Azure 备份支持 不可变保管库,它通过防止可能导致恢复点丢失的作来帮助保护备份数据。 但是,目前不支持备份的 WORM(写入一次,读取多个)存储。

  • AKS 的 Azure 备份支持 Customer-Managed 密钥(CMK)加密,但仅适用于保管库层中存储的备份。

  • 为了成功进行备份和还原操作,备份保管库的托管标识需要角色分配。 如果没有所需的权限,则分配角色后,可能会很快在备份配置或还原操作期间发生权限问题,因为角色分配需要几分钟才能生效。 了解角色定义

不支持的方案和限制

  • AKS 的 Azure 备份不支持以下 Azure 磁盘 SKU:高级 SSD v2 和超级磁盘。

  • AKS 备份不支持 Azure 文件共享、Azure Blob 存储和基于 Azure 容器存储的永久性卷。 如果在 AKS 群集中使用这些类型的永久性卷,则可以使用专用 Azure 备份解决方案单独备份它们。 有关详细信息,请参阅 Azure 文件共享备份Azure Blob 存储备份

  • 在 AKS 群集的备份过程中,会自动跳过任何不受支持的永久性卷类型。

  • 备份扩展不能安装在基于 Windows 的节点池或基于 ARM64 的节点池上。 使用此类节点的 AKS 群集应预配单独的基于 Linux 的节点池(最好是具有基于 x86 的处理器的系统节点池),以支持安装备份扩展。

  • 网络隔离的 AKS 群集目前不支持 Azure 备份。

  • 不要与 Velero 或任何基于 Velero 的备份解决方案一起安装 AKS 备份扩展,因为这样做可能会导致备份和还原作期间发生冲突。 此外,请确保 Kubernetes 资源不使用包含前缀 velero.io的标签或注释,除非受支持的方案明确要求。 存在此类元数据可能会导致意外行为。

  • 不支持在 AKS 群集备份设置期间修改分配给备份实例的备份配置或快照资源组。

  • 从备份配置中跳过以下命名空间,无法为备份配置: kube-systemkube-node-leasekube-public

  • Azure 备份不会自动横向扩展 AKS 节点,它只会还原数据和关联的资源。 自动缩放由 AKS 本身管理,使用群集自动缩放程序等功能。 如果在目标群集上启用自动缩放,它应自动处理资源缩放。 在还原之前,请确保目标群集有足够的资源,以避免还原失败或性能问题。

  • 以下是 AKS 备份限制:

    设置 限制
    每个备份保管库的备份策略数 5,000
    每个备份保管库的备份实例数 5,000
    每个备份实例每天允许的按需备份数 10
    每个备份实例的命名空间数量 800
    一天内每个备份实例允许的还原次数 10

特定于保管库备份和跨区域还原的限制

  • 目前,永久性卷大小 <= 1 TB 的 Azure 磁盘有资格被移动到保管库层;在移动到保管库层的备份数据中,会跳过更大容量的磁盘。

  • 目前,支持将 < = 100 个磁盘附加为永久性卷的备份实例。 如果磁盘数高于限制,则备份和还原操作可能会失败。

  • 只有从所有网络启用公共访问权限的 Azure 磁盘才有资格移动到保管库层;如果存在除公共访问外具有网络访问权限的磁盘,则分层作会失败。

  • 灾难恢复 功能仅在 Azure 配对区域之间可用(如果在启用了跨区域还原的异地冗余备份保管库中配置了备份)。 备份数据仅在 Azure 配对区域中可用。 例如,如果美国东部有一个 AKS 群集,该群集已在异地冗余备份保管库中备份,并且启用了跨区域还原,则备份数据也可用于美国西部进行还原。

  • 在保管库层中,每天只创建一个计划恢复点,在主要区域中提供 24 小时的恢复点目标(RPO)。 在次要区域中,此恢复点的复制最多可能需要 12 小时,从而有效 RPO 最多 36 小时。

  • 在作层中创建备份并有资格使用保管库层时,可能需要长达四个小时才能开始分层过程。

  • 将备份从作层移动到保管库层时,修剪逻辑会保留必要的快照,以确保成功的分层作和数据完整性。 具体而言,在源存储(作层)中最新恢复点(RP)的分层过程中,需要以下两种快照:

    • 作层(源存储)中的最新 RP。
    • 保管库层(目标存储)中以前的强化 RP。

因此,作层中的两个恢复点是有意保留的,而不是修剪:

  • 作层中最新的 RP。
  • 链接到最新保管库层 RP 的作层中的 RP。

此行为可防止意外数据丢失并确保备份一致。 因此,你可能会注意到,由于这些分层依赖项,某些作备份的保留时间长于配置的每日保留策略。

  • 将备份从作层移动到保管库层时,提供给备份扩展的存储帐户应最好启用公用网络访问。 如果存储帐户位于防火墙后面或启用了专用访问,请确保在存储帐户的网络设置中将备份保管库添加为受信任的服务,以允许无缝数据传输。

  • 从保管库层还原期间,暂存位置(包括存储帐户和资源组)中的冻结资源在还原后不会被清理。 必须手动删除它们。

  • 在还原期间,过渡存储帐户必须启用公共网络访问权限,以允许备份服务访问和传输数据。 如果没有公共访问,还原作可能会由于连接限制而失败。

  • 在还原期间,如果目标 AKS 群集部署在专用虚拟网络中,则必须在群集与过渡存储帐户之间启用专用终结点,以确保安全且成功的数据传输。

  • 如果目标 AKS 群集版本与备份期间使用的版本不同,还原操作可能会失败,或者完成但同时针对各种场景(例如较新的群集版本中有已弃用的资源)发出警告。 如果从保管库层还原,则可以使用暂存位置中的冻结资源将应用程序资源还原到目标群集。

  • Terraform 部署目前不支持基于保管库层的备份。

后续步骤