Amazon EKS 备份 - Amazon Backup
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon EKS 备份

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

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

Amazon EKS 备份有两个不同的组成部分:

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

  • 永久存储:这是通过永久卷声明连接到亚马逊 EKS 集群的永久存储(亚马逊 EBS、Amazon S3、Amazon Elastic File System)的备份,由 EKS Add Ons CSI 驱动程序支持

亚马逊 EKS 备份术语

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

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

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

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

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

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

亚马逊 EKS 备份结构

Amazon EKS 备份包括以下组件:

  • 亚马逊 EKS 集群状态

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

Amazon EKS 备份将不包括以下组件:

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

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

  • 自动生成的 EKS 资源,例如节点、自动生成的 pod、事件、租约和作业。

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

创建 Amazon EKS 备份

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

创建按需的 Amazon EKS 备份

Console

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

  1. https://console.aws.amazon.com/backup 上打开 Amazon Backup 控制台。

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

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

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

  5. 选择创建按需备份

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

  7. 选择创建按需备份

Amazon CLI

要使用以下方法为您的 Amazon EKS 集群创建按需备份,请执行以下 Amazon 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/service-role \ --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/service-role \ --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

Child Recovery Point arn:: backup:: backup::: re partition covery-region accountId cluster-name timestamp

亚马逊 EKS 恢复点

恢复点状态

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

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

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

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

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

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

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

管理恢复点

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

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

删除恢复点

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

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

打开 Amazon Backup 控制台,网址为https://console.aws.amazon.com/backup/

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

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

  3. 单击删除按钮。

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

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

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

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

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

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

复制恢复点

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

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

  1. https://console.aws.amazon.com/backup 上打开 Amazon Backup 控制台。

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

  3. 复合恢复点将显示在恢复点窗格中。可以单击每个恢复点 ID 左侧的加号 (+) 展开每个复合恢复点,显示复合恢复点中包含的所有嵌套恢复点。您可以单击任何恢复点左侧的辐射状圆形按钮进行复制。

  4. 选中后,单击窗格右上角的复制按钮。

Amazon EKS 备份支持所有副本类型:

  • 相同地区/账户

  • 跨账户

  • 跨区域

  • 选择加入区域

限制

  • 不支持通过 CSI 迁移、树内存储插件或 ACK 控制器使用 CSI 驱动程序的永久卷。

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

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

  • EKS Backups 不支持 FSx 通过 CSI 驱动程序实现亚马逊

  • 备份和还原配额限制

常见问题

  1. “Amazon EKS 备份中包含了什么?”

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

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

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

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

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

  3. “在备份之前,我是否需要在我的 Amazon EKS 集群上安装代理或 Amazon EKS 附加组件?”

    不是。 Amazon Backup 不需要在您的 Amazon EKS 集群上安装任何代理或附加组件。唯一的先决条件是将 EKS 集群的授权模式设置为 API 或 API_AND _CONFIG_MAP, Amazon Backup 以便创建访问 EKS 集群的访问条目

  4. “Amazon EKS 备份包括亚马逊 EKS 基础设施组件还是亚马逊 ECR 映像?”

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

  5. “我能否将我的 EKS 复合恢复点生命周期到冷存储?”

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

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

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

  7. “我能否创建索引并搜索我的 EKS 备份?”

    不行,但是您可以创建按需索引并搜索底层存储类型支持此功能的永久卷 Amazon Backup。参见Amazon Backup 功能可用性表