本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 集群授权模式设置为 API 或 API_AND_CONFIG_MAP,用于创建访问 EKS 集群的 AWS Backup 访问条目。
-
-
权限:
-
AWS Backup的托管策略AWSBackupServiceRolePolicyForBackup包含备份您的 Amazon EKS 集群以及 EBS 和 EFS 永久存储所需的权限
-
如果 EKS 集群包含 S3 存储桶,则需要按照文档要求为该 S3 存储桶添加并启用以下策略及先决条件:
-
-
加密:
-
亚马逊 EKS 子恢复点将使用目标备份库的 Amazon KMS 密钥集进行加密
-
永久存储恢复点将根据当前对每种存储类别的支持进行加密:EBS 快照、S3 备份、EFS 备份。请参阅中的备份加密 AWS Backup
-
创建亚马逊 EKS 备份
创建备份的过程称为备份作业。亚马逊 EKS 集群备份任务的状态为。备份作业完成后,其状态为 “已完成”。这表示已创建恢复点(备份)。
创建按需亚马逊 EKS 备份
亚马逊 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),即创建了该集群的备份。此备份也称为复合恢复点。复合恢复点可以具有以下状态之一:Completed、Failed 或 Partial。
每个 Amazon EKS 备份都会为复合恢复点创建一个父备份任务,为每个子恢复点(集群配置和永久卷)创建子备份任务。
-
完成的备份任务意味着您的整个 Amazon EKS 集群及其中的资源都受到 Amazon EKS 集群的保护 AWS Backup。
-
失败状态表示备份作业不成功;导致失败的问题得到纠正后,应重新创建备份。
-
Partial状态表示并非群集中的所有资源都已备份。如果属于群集内资源(嵌套资源)的一个或多个备份作业的状态不是,则可能会发生这种情况。Completed您可以手动创建按需备份,以重新运行任何导致非Completed状态的资源。 -
Completed with issues状态表示并非群集中的所有资源都已备份。当我们无法备份集群中的某些 Kubernetes 对象时,就会发生这种情况。您可以订阅失败对象的通知事件以进行备份。有关更多信息,请参阅的通知选项 AWS Backup。
复合恢复点中的每个嵌套资源都有自己的单独恢复点,每个恢复点都有自己的状态(Completed 或 Failed)。状态为 Completed 的嵌套恢复点可以还原。
AWS Backup 支持生命周期过渡到冷存储以获取永久卷恢复点。您可以订阅通知以接收有关备份任务状态的警报。
管理恢复点
可以复制复合恢复点(备份);可以复制、删除、取消关联或恢复永久卷子恢复点。Amazon EKS 集群状态子恢复点与其父复合恢复点保持 1:1 的关系,因此无法复制、删除或取消关联。
包含嵌套备份的复合恢复点无法删除。在复合恢复点中的嵌套恢复点已删除或解除关联后,您可以手动删除复合恢复点,也可以保留它,直到备份计划生命周期将其删除。
删除恢复点
您可以使用控制台或使用删除恢复点 AWS CLI。
要使用控制台删除恢复点,请执行以下操作:
在处打开 AWS Backup 控制台https://console.aws.amazon.com/backup
。 -
单击左导航栏中的受保护的资源。在文本框中,键入 EKS 以仅显示您的亚马逊 EKS 集群。
-
复合恢复点将显示在恢复点窗格中。可以单击每个恢复点 ID 左侧的加号 (+) 展开每个复合恢复点,显示复合恢复点中包含的所有嵌套恢复点。您可以选中任何恢复点左侧的复选框,将其包含在要删除的恢复点选择中。
-
单击删除按钮。
当您使用控制台删除一个或多个复合恢复点时,将弹出一个警告框。此警告框要求您确认删除复合恢复点的意图,包括复合堆栈中的嵌套恢复点。
要使用 API 删除恢复点,请使用 DeleteRecoveryPoint 命令。
将 API 与一起使用时, AWS Command Line Interface 必须先删除所有嵌套的恢复点,然后才能删除复合点。
取消嵌套恢复点与复合恢复点的关联
您可以取消嵌套恢复点与复合恢复点的关联(例如,您希望保留嵌套恢复点但删除复合恢复点)。此时两个恢复点都将保留,但它们将不再联系在一起;也就是说,在取消关联后,在复合恢复点上发生的操作将不再应用于嵌套恢复点。Amazon EKS 集群状态子恢复点无法取消关联,因为它与其父复合恢复点保持 1:1 的关系。
您可以使用控制台取消与恢复点的关联,也可以调用 API DisassociateRecoveryPointFromParent。
复制恢复点
您可以复制复合恢复点,也可以复制嵌套恢复点(如果资源支持跨账户和跨区域复制)。
要使用 AWS Backup 控制台复制恢复点,请执行以下操作:
在处打开 AWS Backup 控制台https://console.aws.amazon.com/backup
-
点击左侧导航栏中的保管库,然后转到包含要复制的恢复点的保管库。在文本框中,键入
EKS仅显示您的 Amazon EKS 集群恢复点。 -
复合恢复点和嵌套恢复点都将显示在恢复点 ID 窗格下方。请注意,您无法选择和复制嵌套的 EKS 恢复点。
-
可以单击每个复合恢复点 ID 左侧的箭头符号进行展开,显示复合中包含的所有嵌套恢复点。您可以单击任何恢复点左侧的方框复选框进行复制。
-
选择后,单击窗格右上角的 “操作” 下拉列表,然后单击 “复制”。
亚马逊 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状态完成,而不是完全失败,并显示以下状态消息:
某些 Kubernetes 对象无法备份。要获得有关这些故障的通知,请启用 SNS 事件通知。
由于亚马逊 EKS 指标服务器附加组件不可用问题导致 503 服务不可用错误,在备份任务期间可能会跳过以下 Kubernetes 对象类型。有关故障排除指南,请参阅此处
metrics.k8s.iocustom.metrics.k8s.ioexternal.metrics.k8s.iometrics.eks.amazonaws.com
常见问题
-
“亚马逊 EKS 备份中包含什么?”
作为亚马逊 EKS 集群每次备份的一部分,将备份所 AWS Backup 支持的 Amazon EKS 集群状态和永久卷。亚马逊 EKS 集群状态包括集群名称、IAM 角色、亚马逊 VPC 配置、网络设置、日志、加密、插件、访问条目、托管节点组、Fargate 配置文件、容器身份关联和 Kubernetes 清单文件等详细信息。
-
“
Partial状态是否意味着创建备份失败?”不是。“部分”这一状态表示有些恢复点已备份,而有些则未备份。有两个条件可以检查您是否期望得到
Completed备份结果:-
属于群集内资源的一个或多个备份作业不成功,必须重新运行该作业。
-
已删除嵌套恢复点或已取消它与复合恢复点的关联
-
-
“备份之前,我需要在我的亚马逊 EKS 集群上 Add-on 安装代理或 Amazon EKS 吗?”
没有。 AWS Backup 不需要在您的亚马逊 EKS 集群上安装任何代理或插件。唯一的先决条件是将您的EKS集群的授权模式设置为API或API_AND_CONFIG_MAP,以便创建访问EKS集群的 AWS Backup 访问条目。
-
“亚马逊 EKS 备份是否包含亚马逊 EKS 基础设施组件或亚马逊 ECR 映像?”
不。Amazon EKS 备份侧重于 EKS 集群状态和应用程序工作负载,而不是底层基础设施组件或容器镜像。
-
“我可以将我的 EKS 复合恢复点生命周期转换为冷库吗?”
您可以将支持冷存储层的底层子恢复点过渡到冷存储。有关完整支持列表,请参阅AWS Backup 功能可用性列表。
-
“我的 EKS 备份是增量备份吗?”
AWS Backup 将对目前支持的每个子恢复点进行增量备份,包括 EBS 卷、EFS 文件系统和 S3 存储桶。EKS 集群状态子恢复点将是完整备份。查看AWS Backup 功能可用性矩阵。
-
“我可以创建索引并搜索我的 EKS 备份吗?”
不可以,但是您可以创建按需索引并搜索底层存储类型支持此功能的永久卷 AWS Backup。查看AWS Backup 功能可用性矩阵。