View a markdown version of this page

Amazon EKS 备份 - AWS Backup

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon EKS 备份

亚马逊弹性 Kubernetes 服务(亚马逊 EKS)集群由多个资源组成,您可以将这些资源作为一个单元进行备份。备份 Amazon EKS 集群时, AWS Backup 会创建一个包含 EKS 集群状态和永久卷备份的复合恢复点。

备份 Amazon EKS 集群时,将为支持的 Amazon EKS 集群状态和永久卷创建恢复点 AWS Backup。这些恢复点组合在一个称为复合恢复点的总体恢复点中

亚马逊 EKS 备份有两个不同的组成部分:

  • 亚马逊 EKS 集群状态:这是亚马逊 EKS 集群状态的备份。有关所含内容,请参阅下方亚马逊 EKS 备份术语。

  • 永久存储:这是通过永久批量声明连接到亚马逊 EKS 集群并受 EKS Add-Ons CSI 驱动程序https://docs.aws.amazon.com/eks/latest/userguide/storage.html支持的永久存储(亚马逊 EBS、亚马逊 S3、亚马逊弹性文件系统)的备份。

亚马逊 EKS 备份术语

亚马逊 EKS 备份文档中使用了以下术语。有关亚马逊 EKS 的特定术语,请参阅亚马逊 EKS 文档

  • 复合恢复点 — 用于将嵌套恢复点组合在一起以进行 Amazon EKS 集群备份的恢复点。

  • 嵌套恢复点 — 资源的恢复点,该资源是 Amazon EKS 集群的一部分,作为复合恢复点的一部分进行备份。

  • EKS 集群状态 — Kubernetes 清单(YAML 或 JSON 文件),用于定义集群中 Kubernetes 资源的所需状态。这包括 Kubernetes 资源和部署,例如:机密、配置映射、状态集、存储类别 DaemonSets、存储映射、副本集、永久卷声明、自定义资源定义、角色和角色绑定。

  • 亚马逊 EKS 集群配置子恢复点 — 包含亚马逊 EKS 集群状态。

  • 永久卷子恢复点 — 包含 EKS Add-Ons CSI 驱动程序支持的支持存储类型(EBS、S3、EFS)的永久卷备份。

亚马逊 EKS 备份结构

亚马逊 EKS 备份包括以下组件:

  • 亚马逊 EKS 集群状态

  • 永久存储:支持的存储类型的备份,包括亚马逊 EBS、亚马逊 EFS 和 Amazon S3

亚马逊 EKS 备份将不包含以下组件:

  • 来自外部存储库(ECR、Docker)的容器镜像

  • EKS 集群基础设施组件(例如 VPC、子网)

  • Auto-generated EKS 资源,例如节点、自动生成的容器、事件、租约和任务。

EKS 备份设置和先决条件(“备份之前”)

创建亚马逊 EKS 备份

创建备份的过程称为备份作业。亚马逊 EKS 集群备份任务的状态为。备份作业完成后,其状态为 “已完成”。这表示已创建恢复点(备份)。

创建按需亚马逊 EKS 备份

Console

要为您的 Amazon EKS 集群创建按需备份,请执行以下操作:

  1. 在处打开 AWS Backup 控制台https://console.aws.amazon.com/backup

  2. 在导航窗格中,选择受保护的资源

  3. 在 “资源类型” 下,选择 Amazon EKS

  4. 选中要备份的 Amazon EKS 集群旁边的复选框。

  5. 选择创建按需备份

  6. 配置您的备份设置,包括备份窗口、向冷存储的过渡和保留期。

  7. 选择创建按需备份

AWS CLI

要使用以下方法创建您的 Amazon EKS 集群的按需备份 AWS CLI:

使用 start-backup-job 命令:

aws backup start-backup-job \ --backup-vault-name my-backup-vault \ --resource-arn arn:aws:eks:us-west-2:123456789012:cluster/my-cluster \ --iam-role-arn arn:aws:iam::123456789012:role/AWSBackupDefaultServiceRole \ --region us-west-2

(可选)指定其他参数,例如生命周期设置:

aws backup start-backup-job \ --backup-vault-name my-backup-vault \ --resource-arn arn:aws:eks:us-west-2:123456789012:cluster/my-cluster \ --iam-role-arn arn:aws:iam::123456789012:role/AWSBackupDefaultServiceRole \ --lifecycle MoveToColdStorageAfterDays=30,DeleteAfterDays=365 \ --region us-west-2

监控备份任务状态:

aws backup describe-backup-job \ --backup-job-id backup-job-id \ --region us-west-2

亚马逊 EKS 备份 ARN 格式

复合恢复点 arn:: backup::: recovery-point: composite: partition eks/-region accountId cluster-name timestamp

儿童恢复点 arn:: backup::: recovery-point: partition eks/-region accountId cluster-name timestamp

亚马逊 EKS 恢复点

恢复点状态

当 Amazon EKS 集群的备份任务完成后(任务状态为Completed),即创建了该集群的备份。此备份也称为复合恢复点。复合恢复点可以具有以下状态之一:CompletedFailedPartial

每个 Amazon EKS 备份都会为复合恢复点创建一个父备份任务,为每个子恢复点(集群配置和永久卷)创建子备份任务。

  • 完成的备份任务意味着您的整个 Amazon EKS 集群及其中的资源都受到 Amazon EKS 集群的保护 AWS Backup。

  • 失败状态表示备份作业不成功;导致失败的问题得到纠正后,应重新创建备份。

  • Partial状态表示并非群集中的所有资源都已备份。如果属于群集内资源(嵌套资源)的一个或多个备份作业的状态不是,则可能会发生这种情况。Completed您可以手动创建按需备份,以重新运行任何导致非 Completed 状态的资源。

  • Completed with issues状态表示并非群集中的所有资源都已备份。当我们无法备份集群中的某些 Kubernetes 对象时,就会发生这种情况。您可以订阅失败对象通知事件以进行备份。有关更多信息,请参阅的通知选项 AWS Backup。

复合恢复点中的每个嵌套资源都有自己的单独恢复点,每个恢复点都有自己的状态(CompletedFailed)。状态为 Completed 的嵌套恢复点可以还原。

AWS Backup 支持生命周期过渡到冷存储以获取永久卷恢复点。您可以订阅通知以接收有关备份任务状态的警报。

管理恢复点

可以复制复合恢复点(备份);可以复制、删除、取消关联或恢复永久卷子恢复点。Amazon EKS 集群状态子恢复点与其父复合恢复点保持 1:1 的关系,因此无法复制、删除或取消关联。

包含嵌套备份的复合恢复点无法删除。在复合恢复点中的嵌套恢复点已删除或解除关联后,您可以手动删除复合恢复点,也可以保留它,直到备份计划生命周期将其删除。

删除恢复点

您可以使用控制台或使用删除恢复点 AWS CLI。

要使用控制台删除恢复点,请执行以下操作:

  1. 在处打开 AWS Backup 控制台https://console.aws.amazon.com/backup

  2. 单击左导航栏中的受保护的资源。在文本框中,键入 EKS 以仅显示您的亚马逊 EKS 集群。

  3. 复合恢复点将显示在恢复点窗格中。可以单击每个恢复点 ID 左侧的加号 (+) 展开每个复合恢复点,显示复合恢复点中包含的所有嵌套恢复点。您可以选中任何恢复点左侧的复选框,将其包含在要删除的恢复点选择中。

  4. 单击删除按钮。

当您使用控制台删除一个或多个复合恢复点时,将弹出一个警告框。此警告框要求您确认删除复合恢复点的意图,包括复合堆栈中的嵌套恢复点。

要使用 API 删除恢复点,请使用 DeleteRecoveryPoint 命令。

将 API 与一起使用时, AWS Command Line Interface 必须先删除所有嵌套的恢复点,然后才能删除复合点。

取消嵌套恢复点与复合恢复点的关联

您可以取消嵌套恢复点与复合恢复点的关联(例如,您希望保留嵌套恢复点但删除复合恢复点)。此时两个恢复点都将保留,但它们将不再联系在一起;也就是说,在取消关联后,在复合恢复点上发生的操作将不再应用于嵌套恢复点。Amazon EKS 集群状态子恢复点无法取消关联,因为它与其父复合恢复点保持 1:1 的关系。

您可以使用控制台取消与恢复点的关联,也可以调用 API DisassociateRecoveryPointFromParent。

复制恢复点

您可以复制复合恢复点,也可以复制嵌套恢复点(如果资源支持跨账户和跨区域复制)。

要使用 AWS Backup 控制台复制恢复点,请执行以下操作:

在处打开 AWS Backup 控制台https://console.aws.amazon.com/backup

  1. 点击左侧导航栏中的保管库,然后转到包含要复制的恢复点的保管库。在文本框中,键入EKS仅显示您的 Amazon EKS 集群恢复点。

  2. 复合恢复点和嵌套恢复点都将显示在恢复点 ID 窗格下方。请注意,您无法选择和复制嵌套的 EKS 恢复点。

  3. 可以单击每个复合恢复点 ID 左侧的箭头符号进行展开,显示复合中包含的所有嵌套恢复点。您可以单击任何恢复点左侧的方框复选框进行复制。

  4. 选择后,单击窗格右上角的 “操作” 下拉列表,然后单击 “复制”。

亚马逊 EKS 备份支持所有副本类型:

  • 相同 region/account

  • 跨账户

  • 跨区域

  • Opt-in 地区

限制

  • 不支持通过 CSI 迁移、树内存储插件或 ACK 控制器使用 CSI 驱动程序的永久卷。请注意,注解volume.kubernetes.io/storage-provisioner: ebs.csi.aws.com是表示哪个供应商可以管理卷的元数据,而不是该卷使用 CSI。实际的配置器由 StorageClass 决定。

  • MountPoints 无法备份附加到 CSI 驱动程序的特定前缀的 Amazon S3 存储桶。仅支持 Amazon S3 存储桶作为目标,不支持特定的前缀。

  • 作为 EKS 集群备份的一部分的 Amazon S3 存储桶备份将仅支持快照备份。

  • EKS 备份不支持跨账户中的 EFS 文件系统备份。

  • 不支持带有非根子路径挂载的 Amazon EFS 永久卷。仅支持根文件系统句柄或接入点句柄进行备份。不支持的配置将导致子备份任务失败,并显示相应的错误消息。

  • EKS 备份不支持通过 CSI 驱动程序运行的 Amazon FSx。

  • AWS Backup 在 O AWS utposts 上不支持亚马逊 EKS。

  • 备份和还原配额限制

备份任务已完成,但出现问题

备份亚马逊 EKS 集群时,某些 Kubernetes 对象可能无法检索。在这种情况下,备份任务将以某种Completed with issues状态完成,而不是完全失败,并显示以下状态消息:

由于亚马逊 EKS 指标服务器附加组件不可用问题导致 503 服务不可用错误,在备份任务期间可能会跳过以下 Kubernetes 对象类型。有关故障排除指南,请参阅此处

  • metrics.k8s.io

  • custom.metrics.k8s.io

  • external.metrics.k8s.io

  • metrics.eks.amazonaws.com

常见问题

  1. “亚马逊 EKS 备份中包含什么?”

    作为亚马逊 EKS 集群每次备份的一部分,将备份所 AWS Backup 支持的 Amazon EKS 集群状态和永久卷。亚马逊 EKS 集群状态包括集群名称、IAM 角色、亚马逊 VPC 配置、网络设置、日志、加密、插件、访问条目、托管节点组、Fargate 配置文件、容器身份关联和 Kubernetes 清单文件等详细信息。

  2. Partial 状态是否意味着创建备份失败?”

    不是。“部分”这一状态表示有些恢复点已备份,而有些则未备份。有两个条件可以检查您是否期望得到Completed备份结果:

    1. 属于群集内资源的一个或多个备份作业不成功,必须重新运行该作业。

    2. 已删除嵌套恢复点或已取消它与复合恢复点的关联

  3. “备份之前,我需要在我的亚马逊 EKS 集群上 Add-on 安装代理或 Amazon EKS 吗?”

    没有。 AWS Backup 不需要在您的亚马逊 EKS 集群上安装任何代理或插件。唯一的先决条件是将您的EKS集群的授权模式设置为API或API_AND_CONFIG_MAP,以便创建访问EKS集群的 AWS Backup 访问条目。

  4. “亚马逊 EKS 备份是否包含亚马逊 EKS 基础设施组件或亚马逊 ECR 映像?”

    不。Amazon EKS 备份侧重于 EKS 集群状态和应用程序工作负载,而不是底层基础设施组件或容器镜像。

  5. “我可以将我的 EKS 复合恢复点生命周期转换为冷库吗?”

    您可以将支持冷存储层的底层子恢复点过渡到冷存储。有关完整支持列表,请参阅AWS Backup 功能可用性列表。

  6. “我的 EKS 备份是增量备份吗?”

    AWS Backup 将对目前支持的每个子恢复点进行增量备份,包括 EBS 卷、EFS 文件系统和 S3 存储桶。EKS 集群状态子恢复点将是完整备份。查看AWS Backup 功能可用性矩阵

  7. “我可以创建索引并搜索我的 EKS 备份吗?”

    不可以,但是您可以创建按需索引并搜索底层存储类型支持此功能的永久卷 AWS Backup。查看AWS Backup 功能可用性矩阵