华为云UCS
华为云UCS
- 最新动态
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- UCS集群
- 容器舰队
- 集群联邦
- 镜像仓库
- 权限管理
-
策略中心
- 策略中心概述
- 策略定义与策略实例的基本概念
- 启用策略中心
- 创建和管理策略实例
- 示例:使用策略中心实现Kubernetes资源合规性治理
-
使用策略定义库
- 策略定义库概述
- k8spspvolumetypes
- k8spspallowedusers
- k8spspselinuxv2
- k8spspseccomp
- k8spspreadonlyrootfilesystem
- k8spspprocmount
- k8spspprivilegedcontainer
- k8spsphostnetworkingports
- k8spsphostnamespace
- k8spsphostfilesystem
- k8spspfsgroup
- k8spspforbiddensysctls
- k8spspflexvolumes
- k8spspcapabilities
- k8spspapparmor
- k8spspallowprivilegeescalationcontainer
- k8srequiredprobes
- k8srequiredlabels
- k8srequiredannotations
- k8sreplicalimits
- noupdateserviceaccount
- k8simagedigests
- k8sexternalips
- k8sdisallowedtags
- k8sdisallowanonymous
- k8srequiredresources
- k8scontainerratios
- k8scontainerrequests
- k8scontainerlimits
- k8sblockwildcardingress
- k8sblocknodeport
- k8sblockloadbalancer
- k8sblockendpointeditdefaultrole
- k8spspautomountserviceaccounttokenpod
- k8sallowedrepos
- 配置管理
- 服务网格
- 流量分发
- 可观测性
- 云原生服务中心
- 容器迁移
- 流水线
- 错误码
- 最佳实践
- API参考
- 常见问题
- 文档下载
- 通用参考
链接复制成功!
使用流量分发实现应用故障倒换
应用场景
在分布式集群场景下,为了给用户提供低延迟的服务,应用可能部署在不同区域、不同厂商的云端上,在某个地区集群发生故障时,该地区的用户访问也随之会受到影响。利用UCS的流量管理和应用数据管理功能,可以实现多云多集群场景下的应用故障倒换、调度和迁移,故障倒换方案示意如图1所示。
约束限制
- 您需要拥有两个Kubernetes版本为1.19及以上的可用集群,并且各个集群中至少拥有一个可用节点。
- 您需要已有一个公网域名,并添加至华为云云解析(DNS)服务,具体操作请参考快速添加网站域名解析。
环境搭建
- 将集群注册到UCS并接入网络。具体操作请参见注册集群。
例如,将集群“ccecluster01”、“ccecluster02”添加至UCS,并查看集群是否处于正常运行状态。
- 在添加至UCS的两个集群中分别创建一个工作负载。
说明:
为展示流量切换的效果,本实践中两个集群的容器镜像版本不同。
- 集群“ccecluster01”:示例应用版本号为1.0.0。
- 集群“ccecluster02”:示例应用版本号为2.0.0。
图2 创建工作负载 - 分别为两个集群中的应用创建“负载均衡”类型的服务。
说明:
仅支持访问类型为“负载均衡”的服务,其他类型的服务将被自动过滤。
- 浏览器访问负载均衡IP地址,查看部署结果。
图3 查看部署结果
功能验证
按照上述集群应用部署操作,示例应用分别部署在集群“ccecluster01”、“ccecluster02”中,并以“负载均衡”类型的服务对外提供访问。
下面将通过UCS的流量分发功能,实现多集群应用的故障倒换,验证应用的高可用容灾能力。
实践中的应用仅作示例,在实际生产环境中可替换为用户自有应用,且对示例集群的提供商、地域、数量不作限制。
- 登录UCS控制台,在左侧导航栏中单击“流量分发”。
- 在流量管理控制台页面,单击右上角“创建流量策略”,填写域名地址解析,设置本例中的测试域名为“demo.example.com”。
图4 创建流量策略
- 为两个集群服务分别添加调度策略,添加完成后单击“确定”。
本示例中,为模拟不同地域下的集群应用部署,添加三条调度策略:
- 集群“ccecluster01”线路类型设置为“地域解析-中国大陆/华东地区/上海”。
- 集群“ccecluster02”线路类型设置为“地域解析-中国大陆/华南地区/广东”。
- 为域名添加默认线路解析记录,设置集群“ccecluster01”线路类型为“全网默认”。如不设置默认线路解析将会造成指定线路外的地区用户访问失败。
图5 添加调度策略 - 此时已为测试域名“demo.example.com”添加了三条解析,用户流量将根据设置的线路类型和权重正常访问两个集群中的应用。
图6 调度策略列表
- 上海地区用户:将访问集群“ccecluster01”中的应用,版本为1.0.0。
- 广东地区用户:将访问集群“ccecluster02”中的应用,版本为2.0.0。
- 其他用户:将默认访问集群“ccecluster01”中的应用,版本为1.0.0。
- 广东地区用户通过域名“demo.example.com”访问应用,版本为2.0.0,说明访问的是集群“ccecluster02”中的应用。
图7 查看访问结果
- 此时手动停止集群“ccecluster02”中的应用,将实例个数调整为0,模拟环境故障。
图8 调整实例个数
- 广东地区用户访问应用时,依旧被解析至集群“ccecluster02”,返回错误。
此时需要在“流量分发”页面单击集群“ccecluster02”对应调度策略的“暂停”按钮,进行应用故障倒换。
图9 暂停调度策略广东地区用户访问域名“demo.example.com”时,不再解析至集群“ccecluster02”,只会将默认线路解析结果返回,用户访问到集群“ccecluster01”,访问正常。待运维人员完成故障集群修复后,可单击“启用”按钮重新使用该线路解析。
父主题: 流量分发