IBM Cloud Docs
了解 Red Hat OpenShift on IBM Cloud 的高可用性和灾难恢复

了解 Red Hat OpenShift on IBM Cloud 的高可用性和灾难恢复

高可用性服务或工作负载根据预先定义的服务级别承受故障并继续提供处理能力的能力。 对于服务,可用性在服务水平协议中进行了定义。 可用性包括计划内和计划外事件,例如维护、故障和灾难。 (HA)是指服务在出现意外故障时仍能保持运行和访问的能力。 灾难恢复服务或工作负载从罕见重大事故和大规模故障(如服务中断)中恢复的能力。 这包括影响整个地区的自然灾害、数据库损坏或导致工作负荷增加的服务中断。 这种影响超出了高可用性设计所能承受的范围。是将服务实例恢复到工作状态的过程。

Red Hat OpenShift on IBM Cloud Red Hat OpenShift on IBM Cloud 的设计旨在通过标准计划实现服务级别目标 (SLO)。

如需了解可用区域和数据中心位置的更多信息,请参阅按位置划分的可用服务和基础设施。

高可用性架构

Red Hat OpenShift on IBM Cloud 架构在区域、分区和集群级别上实现了高可用性。

区域可用性
每个区域都设置有高可用性负载均衡器,可从特定于区域的 API 端点进行访问。 负载均衡器用于将入局和出局请求路由到区域专区中的集群。 整个区域发生故障的可能性较低。 但是,要应对此故障,可以在不同区域中设置多个集群,并使用外部负载均衡器来连接这些集群。 如果整个区域出现故障,另一区域的群集可以接管工作负载。
集群和区域可用性
专区故障会影响所有物理计算主机和 NFS 存储器。 故障包括电源、散热、联网或存储中断,以及洪水、地震和飓风等自然灾害。 要防止发生专区故障,必须在两个不同专区中具有集群,并通过外部负载均衡器对集群进行负载均衡。 在多区位置创建群集,将主控分散到各区。 或者考虑在另一个区域建立第二个集群。
多区域可用性
多区域集群将工作负载分配到多个工作节点和区域,从而为区域故障提供额外保护。 工作节点会自动部署,并在多个区域中创建三个副本。 如果整个区域都出现中断,您的工作负载将被调度到其他区域的工作节点上,从而保护您的应用程序免受中断的影响。
全局负载均衡
为了保护您的应用程序免受主控失效的影响,或者对于必须驻留在某个受支持的多区域中的经典群集,您可以在一个区域内的不同区域创建多个群集,并用全局负载平衡器将它们连接起来。

资源分配,确保高可用性。

跨多个工作程序节点、专区和集群分布应用程序时,用户不太可能会遇到中断。 内置功能(例如负载均衡和隔离)可在主机、网络或应用程序发生潜在故障时更快恢复。 查看以下潜在的集群设置(按可用性程度从低到高排序)。 如需了解 IBM Cloud 资源在地理区域和地区的分配情况,请查看 “地点”文档

集群的高可用性
集群的高可用性

单专区集群
仅限经典
单区集群的节点分布在同一区域内的不同物理主机上。 该选项可防止某些故障,例如在主更新期间,而且更易于管理。 但是,如果整个区域都出现故障,它也无法保护您的应用程序。
多区域仪表盘
经典的私有云平台
多区域集群具有自动部署的工作节点,三个副本分布在多个区域。 如果整个区域都出现中断,您的工作负载将被调度到其他区域的工作节点上,从而保护您的应用程序免受中断的影响。
多个集群与负载均衡器相连
经典的私有云平台
多个集群可以设置在同一个区域或不同的区域,并通过全局负载均衡器进行连接。 如果您必须在单区域中配置集群,但又希望享受多区域可用性的好处,那么此选项非常有用。

高可用性功能

查看可用功能,为您的应用和服务提供高可用性。

HA 功能用于 Red Hat OpenShift on IBM Cloud
功能 描述
反亲和选项 使用反亲和规则将部署任务分散到多个工作节点,而不是限制在特定节点上。 这为您的工作提供了额外的灵活性。
副本集 要提高应用程序的可用性,可以在部署中指定副本集。 如果一个应用程序实例停止运行,Kubernetes 会自动启动新的应用程序实例,以保持指定数量的应用程序实例。
多区域负载均衡(经典) 当您创建多区域经典集群时,集群所在的每个区域都会自动创建一个多区域负载均衡器,用于处理应用程序的所有传入请求,并在集群区域中的应用程序负载均衡器(ALB)之间进行负载均衡。 它还支持对公共 Ingress IP 地址进行运行状况检查。
VPC负载均衡(VPC) 当您创建VPC集群时,系统会自动创建一个VPC负载均衡器,用于处理应用程序的所有传入请求,并在集群区域内的应用程序负载均衡器(ALB)之间进行负载均衡。 它还支持对公共 Ingress IP 地址进行运行状况检查。
集群自动缩放器 群集自动扩展器插件可自动扩展群集中的 Worker 池,根据计划工作负载的大小需求增加或减少 Worker 池中的 Worker 节点数量。

灾难恢复功能

灾难恢复的总体策略是使用 Portworx 等解决方案配置数据的存储和备份。

Red Hat OpenShift on IBM Cloud 支持以下灾难恢复功能:

DR 功能用于 Red Hat OpenShift on IBM Cloud
功能 描述
Portworx 第三方高可用性软件定义存储解决方案,可用于管理容器化数据库和其他有状态应用程序的本地持久存储,或在多个区域的 pod 之间共享数据。 查看 前提条件
OpenShift 数据基础(ODF)区域灾难恢复 灾难恢复解决方案,可在发生区域性灾难时提供“一键式”自动恢复。 应用程序会自动重新部署到另一个区域中可用的ODF集群的指定 OpenShift Container Platform。
Cloud Object Storage (COS) 一种持久、高度可用的存储选项,可作为插件安装到您的应用程序中。 回顾一下 局限性
自动恢复 自动恢复系统会使用各种检查来查询工作程序节点的运行状态。 如果自动恢复根据配置的检查检测到不健康的节点,自动恢复将触发纠正措施,例如重启VPC节点或重新加载经典工作节点的操作系统。
Velero的数据可移植性 第三方选项,用于将数据从您的集群导出到 IBM COS实例或其他 s3 提供商。
使用 kubectl 命令行界面(CLI)的数据可移植性 使用 kubectl CLI导出数据。

查看 导出数据的附加选项,例如 rclone 或 OADP。

恢复时间目标(RTO)和恢复点目标(RPO)

RTO/RPO 功能用于 Red Hat OpenShift on IBM Cloud
功能 RTO和RPO 注意事项
Portworx RTO = <60s, RPO = <60s- 15m 异步或同步(也称为Metro DR)配置之间的价值有所不同。 如需了解更多信息,请发送电子邮件 至 Portworx,了解灾难恢复的设置
ODF区域灾难恢复 RTO = 0,RPO = 0 这些数值仅适用于仪表盘级别。 目前不提供区域和地铁 DR。
Cloud Object Storage 请参阅 对象存储文档

IBM® 如何帮助确保灾难恢复

IBM® 如果发生灾难,将采取特定的恢复措施。Red Hat OpenShift on IBM Cloud

IBM 如何从失败中恢复

如果区域或地区发生故障,IBM 负责恢复组件。 IBM 将尝试根据内部持久存储中的最后状态,在同一区域恢复集群。 IBM 更新和恢复集群内的运行组件,如 Ingress 应用程序负载平衡器和文件存储插件。

IBM 还提供与其他 服务(如存储提供商)集成的功能,以便备份和恢复数据。IBM Cloud 您有责任实施这些整合。

IBM 如何维护服务

所有升级均遵循 IBM 服务的最佳实践,包括恢复计划和回滚流程。 定期维护可能会导致短暂中断,但可通过 客户端可用性重试逻辑 来缓解。 变更按顺序逐个区域、逐个分区进行。IBM 会在发现缺陷的第一时间恢复更新。

通过功能标志启用和禁用复杂更改,以控制曝光。

影响客户工作量的变更将在 IBM Cloud 通知中详细说明。 如需了解有关计划维护、公告以及影响该服务的发布说明的更多信息,请参阅 监控通知和状态

您对高可用性和灾难恢复的责任

您有责任持续测试您的HA和DR计划。

网络连接可能会中断,服务可能会短暂不可用。 您有责任确保应用程序源代码包含 客户端可用性重试逻辑,以保持应用程序的高可用性。

您有责任配置集群,以实现应用程序和服务的适当可用性。 您为集群设置的可用性级别会影响您 在 IBM Cloud HA服务级别协议条款 下的覆盖范围。 例如,要获得服务等级协议(SLA)条款下的全面HA覆盖,您必须建立一个多区域集群,其中至少包含6个工作节点,每个区域有两个工作节点,均匀分布在三个区域中。

您负责恢复运行群集的工作负载和应用程序数据。 有关您对灾难恢复的责任的更多信息,请参阅 使用 Red Hat OpenShift on IBM Cloud 责任

变更管理

变更管理包括升级、配置变更和删除等任务。 请牢记以下几点,以减少工作时间的停机或数据丢失。

  • 建议您授予用户和进程最低权限的 IAM 角色和操作,以满足他们的工作需求。 例如,限制删除生产资源的能力。

  • 使用API、CLI或控制台工具应用提供的包含操作系统补丁的工作节点更新,或请求重新启动、重新加载或更换工作节点。

  • 使用 API、CLI 或控制台工具应用提供的主要和次要 Kubernetes 主更新 以及主要、次要和 补丁工作节点更新。 请务必查看每个版本更新的信息和要求,以防止出现故障或停机。

  • 请确保集群工作节点运行的是最新 Ubuntu 版本。

  • 请务必了解集群中运行的任何附加组件的 发布计划

应用程序和服务部署注意事项

集群的配置方式会影响应用程序和服务的可用性。 设置在多个工作程序节点和集群上分发得越广泛,用户使用应用程序时遇到中断的可能性就越低。

查看以下潜在的应用程序设置(按可用性程度从低到高排序)。

应用程序的高可用性阶段
应用程序的高可用性阶段

  1. 部署 n+2 pod,由单个节点上的副本集管理。
  2. 部署具有 n+2 个 pod,这些 pod 由副本集管理并跨单专区集群的多个节点分布(反亲缘关系)。
  3. 部署具有 n+2 个 pod,这些 pod 由副本集管理并在多个专区中跨多专区集群的多个节点分布(反亲缘关系)。

查看以下文档,了解创建高可用性工作负载的信息。