可用性与恢复

通过将您的环境与合适的部署拓扑、高可用基线、Global Cluster 灾难恢复路径以及备份或恢复操作步骤相匹配,来规划可用性与恢复。

有关详细的容量规划、备份、恢复和灾难恢复操作步骤,请遵循链接到的专题操作步骤。以下指南重点介绍规划选择和支持边界。

部署拓扑

应根据场景选择拓扑,而不是依据单一的生产最低配置表。

拓扑适用场景可用性说明
Multi-Cluster一个 global 集群管理多个业务集群。避免在 global 集群上运行非平台业务工作负载。根据受管集群数量、用户并发、API 流量以及已安装插件来为 global 集群进行容量规划。
Single Cluster一个集群有意同时运行平台组件和业务工作负载。当其适用于单一业务系统场景时,可用于生产环境。需要同时为平台组件和工作负载规划资源。在此模式下,global 集群控制平面使用 3 个节点。
Single Node测试或概念验证环境。不要用于生产环境。

有关安装规划,请参阅 规划前提条件

高可用基线

对于类似生产的环境,请使用 3 个控制平面节点作为 HA 基线。对于更大的环境,5 个控制平面节点的拓扑可以提升扩展性和可靠性,但这并不是每个生产部署都必须满足的通用硬性要求。

Infra 节点或自定义角色节点适用于隔离平台组件或高负载组件,但除非某个容量层级或组件文档另有说明,否则它们并非通用要求。对于 Extra Large global 集群容量规划,请遵循专用 infra 节点的容量规划指南。

规划主题来源
按受管集群数量划分的 global 集群容量规划评估 Global Cluster 的资源
业务集群控制平面容量规划和扩展因素评估业务集群的资源
节点角色以及 infra/custom role 节点集群节点规划
节点要求和 OS/kernel 支持节点预处理

组件级高可用

标准 HA 拓扑部署依赖以下跨平台组件的机制。此部分内容为架构师提供参考上下文;当平台以 HA 拓扑部署时,您无需按组件逐一进行这些配置。

etcd

  • 部署在 global 集群控制平面节点上。
  • 使用 RAFT 共识协议进行领导者选举和状态复制。
  • 3 节点控制平面部署可容忍 1 个节点故障;5 节点控制平面部署可容忍 2 个节点故障。
  • 支持本地和远程对象存储快照备份用于恢复。

平台访问和 ingress

  • 集群 ingress 网关以多个副本运行,并支持领导者选举。
  • 通过外部负载均衡器、DNS 记录或带心跳检测和主备切换的自建 VIP 提供平台访问入口。

镜像仓库和对象存储

  • 镜像仓库组件在集群 ingress 后以多个副本运行,并配备高可用数据库后端和高可用缓存后端。
  • 平台使用的对象存储后端以分布式模式运行,具备纠删码、数据冗余和自动恢复能力。

监控和日志

  • 监控以多个实例运行,并提供查询时去重、分布式存储组件以及跨地域冗余选项。
  • 日志组件在采集、传输、存储和查询各阶段均以分布式、多副本模式部署。

容器网络

  • 容器网络接口(CNI)通过无状态的按节点 Agent 以及三副本控制平面组件实现高可用。

自愈

  • 健康检查、故障转移和流量重定向由 Kubernetes 控制平面和平台组件协同协调。
  • 当某个节点不可用时,瞬时故障会重试,工作负载会重新调度到健康节点上。

有关拓扑级规划,请参阅 高可用基线。有关集群级灾难恢复,请参阅 Global Cluster 灾难恢复

Global Cluster 灾难恢复

当 Primary global 集群不可用时,Global Cluster 灾难恢复可保护平台管理入口和 global 控制平面服务。

Global DR 的范围如下:

  • 使用 Primary 和 Standby global 集群。
  • 依赖于存储在 Primary global 集群 etcd 中的资源状态实时同步,不包括排除的命名空间。
  • 通过将 DNS 或 VIP 访问切换到 Standby 集群来恢复平台入口和 global 控制平面服务。
  • Primary 和 Standby 应遵循经过验证的对齐版本、补丁、组件版本和关键配置路径。

不要将 Global DR 视为完整的平台数据 DR、应用数据 DR、自动故障转移,或具有 SLA 约束的 RPO/RTO 承诺。Global DR 不涵盖镜像仓库数据、chartmuseum 数据、其他组件数据、应用数据或被排除在 etcd 同步之外的资源。

有关操作步骤和受支持的场景,请参阅 Global Cluster 灾难恢复

备份和恢复路径

恢复由场景决定。每种机制都保护特定的数据域,并且具有各自的操作步骤、前提条件和限制。

场景用途来源
Primary global 集群故障Global Cluster 灾难恢复。Global Cluster 灾难恢复
误删集群状态或回滚etcd 备份和恢复。etcd 备份和恢复
镜像仓库数据镜像仓库备份和恢复。镜像仓库数据备份和恢复
监控数据监控组件备份或恢复。VictoriaMetrics 备份和恢复
日志数据根据所安装的日志后端执行日志组件备份或恢复。日志服务
应用资源和持久卷使用 Data Backup Essentials 和 Data Backup for Velero 进行应用备份和恢复。备份概览

应用备份可根据备份配置保护命名空间、Kubernetes 资源和持久卷数据。它并不支持所有存储或应用数据模式。例如,文档化的应用备份路径不支持 hostPath PersistentVolumes,数据库工作负载应遵循数据服务特定的备份指南。

恢复清单

使用此清单来选择后续工作。有关详细步骤,请遵循链接到的操作步骤:

  1. 在安装规划期间选择 Single Cluster、Multi-Cluster 或 Single Node。
  2. 根据扩展性指南为 global 集群和业务集群进行容量规划。
  3. 在安装 Core 之前,确定是否需要 Global Cluster 灾难恢复。
  4. 根据需要恢复的数据域,为 etcd、镜像仓库数据、监控数据、日志数据和应用配置备份。
  5. 按照您的运维流程要求,定期执行恢复检查和故障转移演练。
  6. 在故障转移或恢复后,验证平台访问、global 服务、已连接集群访问以及组件级恢复情况。

有关相关的规划和运维路径,请参阅 了解更多