可用性与恢复
通过将您的环境与合适的部署拓扑、高可用基线、Global Cluster 灾难恢复路径以及备份或恢复操作步骤相匹配,来规划可用性与恢复。
有关详细的容量规划、备份、恢复和灾难恢复操作步骤,请遵循链接到的专题操作步骤。以下指南重点介绍规划选择和支持边界。
部署拓扑
应根据场景选择拓扑,而不是依据单一的生产最低配置表。
高可用基线
对于类似生产的环境,请使用 3 个控制平面节点作为 HA 基线。对于更大的环境,5 个控制平面节点的拓扑可以提升扩展性和可靠性,但这并不是每个生产部署都必须满足的通用硬性要求。
Infra 节点或自定义角色节点适用于隔离平台组件或高负载组件,但除非某个容量层级或组件文档另有说明,否则它们并非通用要求。对于 Extra Large global 集群容量规划,请遵循专用 infra 节点的容量规划指南。
组件级高可用
标准 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 灾难恢复。
备份和恢复路径
恢复由场景决定。每种机制都保护特定的数据域,并且具有各自的操作步骤、前提条件和限制。
应用备份可根据备份配置保护命名空间、Kubernetes 资源和持久卷数据。它并不支持所有存储或应用数据模式。例如,文档化的应用备份路径不支持 hostPath PersistentVolumes,数据库工作负载应遵循数据服务特定的备份指南。
恢复清单
使用此清单来选择后续工作。有关详细步骤,请遵循链接到的操作步骤:
- 在安装规划期间选择 Single Cluster、Multi-Cluster 或 Single Node。
- 根据扩展性指南为
global集群和业务集群进行容量规划。 - 在安装 Core 之前,确定是否需要 Global Cluster 灾难恢复。
- 根据需要恢复的数据域,为 etcd、镜像仓库数据、监控数据、日志数据和应用配置备份。
- 按照您的运维流程要求,定期执行恢复检查和故障转移演练。
- 在故障转移或恢复后,验证平台访问、
global服务、已连接集群访问以及组件级恢复情况。
有关相关的规划和运维路径,请参阅 了解更多。