ACK One多集群网关:实现高效容灾方案

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: ACK One多集群网关可以帮助您快速构建同城跨AZ多活容灾系统、混合云同城跨AZ多活容灾系统,以及异地容灾系统。

【阅读原文】戳:ACK One多集群网关:实现高效容灾方案

概述

 

 

 

从业务架构上来说,企业的业务系统自上而下通常分为接入层、应用层和数据层。

 

接入层:流量入口,负责接收流量,根据路由转发规则将流量转发到后端应用层。

 

应用层:应用服务,根据请求对数据进行处理,并返回给上游。

 

数据层:数据存储服务,为应用层提供数据和存储数据。

 

为了实现整个业务容灾,需对上述每一层实施相应的容灾处理措施。

 

接入层:其自身支持同城跨AZ高可用。并且通过对应用层路由管控实现同城多活和跨地域容灾。

 

应用层:应用层本身需要多集群跨AZ/多地域部署。

 

数据层:数据层容灾和数据同步。

 

所以本文主要讨论如何通过ACK One多集群网关[1]实现应用层应用的公共云同城多活容灾、混合云同城多活容灾、跨地域容灾。

 

 

 

ACK One多集群网关

 

 

分布式云容器平台ACK One[2]是阿里云面向混合云、多集群、分布式计算、容灾等场景推出的企业级分布式云容器平台,提供多集群统一管理能力。通过ACK One注册集群[3]将您的其他公共云厂商和IDC K8s集群接入到阿里云容器服务ACK控制台,并由舰队对这些注册集群以及云上的ACK、ACK Edge集群进行多集群统一的应用分发、流量管理、可观测运维管理、安全管理等。

 

ACK One多集群网关是阿里云面向混合云、多集群的应用容灾和南北向流量管理推出的产品能力,帮助您快速实现混合云、多集群的应用同城/异地容灾系统,及多集群流量的管理。

 

 

ACK One多集群网关,通过在舰队中托管多集群Ingress Controller,统一处理多集群Ingress来提供能力。主要流程如下:

 

创建舰队

 

关联集群:将ACK集群或注册集群关联到舰队,统一管理;

 

创建多集群网关:在舰队集群中通过AlbConfig/MseIngressConfig创建ALB多集群网关MSE多集群网关

 

创建Ingress:在舰队中创建Ingress,绑定子集群中Service,定义到子集群Service的转发规则/路由;

 

使用多集群网关访问服务:通过网关的域名或者IP,访问到子集群Service。

 

 

ACK One多集群网关具有以下优势:

 

网关全托管,免运维。

 

减少网关数量,降低成本。地域级别的多集群Global Ingress,统一管理多集群南北七层流量。

 

简化多集群流量管理,在舰队中统一完成多个集群Ingress规则设置,无需单独操作每个子集群。

 

多集群网关自身跨AZ高可用。

 

毫秒级/秒级故障迁移,在某个集群后端发生故障时,多集群网关能够平滑地将流量迁移至其他后端。

 

 

 

 

01. 公共云同城多活容灾

 

 

 

同城跨AZ多活容灾是客户更多考虑使用的方案。因为,相比于同城主备容灾方案,同城多活方案具有以下优势:

 

 

资源利用率更高、成本更低。

 

更高的服务质量和更强的容错能力:服务副本增多,提升了服务质量、响应速度等,更好地应用流量高峰;出现故障时不会因切换导致服务中断。并且,也可以支持在不中断服务的情况下进行系统升级或维护。

 

扩展能力更强:某可用区资源不足时,可以快速在其他有资源的可用区扩展。

 

ACK One支持通过ALB多集群网关MSE多集群网关来快速实现同城跨AZ多活容灾系统,架构如下:

 

 


1. 在一个地域两个不同可用区(AZ 1和AZ 2)中,分别创建一个ACK集群:Cluster 1和Cluster 2;

 

2. 通过ACK One的GitOps能力将服务分发到已创建的Cluster 1和Cluster 2集群中;

 

3. 通过ACK One 舰队创建多集群网关;

 

4. 多集群网关创建成功后,在舰队中,通过创建Ingress来实现同城跨AZ容灾能力,当某集群异常时,流量将自动重新路由到另一个健康集群中。同时,多集群网关提供了诸多能力:

 

a. 按照多集群总副本数负载均衡转发流量

b. 可按指定权重负载均衡转发流量

c. 基于http header转发,便于灰度发布

d. 应用或集群故障时毫秒级/秒级自动切流

e. 等等

 

5. RDS数据同步需要依赖中间件自身能力。

 

 

 

与基于DNS的容灾方案对比

 

 

基于ACK One多集群网关来实现同城跨AZ多活容灾系统,相比于传统的基于DNS流量分发的多活容灾方案,具有以下优势:

 

地域级的全局负载均衡,统一管理多集群南北七层流量:减少网关数量,降低费用成本;DNS方案无法支持某些跨集群的路由能力,如QUIC的0-RTT特性需要会话保持。

 

毫秒级/秒级故障转移,无DNS客户端缓存问题:

 

- 多集群网关方案,某集群服务发生故障,可毫秒级/秒级重新路由流量至其他集群,故障转移相比DNS方案更平滑;

 

- DNS方案,故障时切换IP,通常会因客户端缓存造成服务短暂(分钟级别)不可用。为了解决缓存问题,通常采用减少TTL值的方式,这又会带来大量的DNS访问请求,产生更高使用成本。

 

简化管理:在一个控制面(舰队)管理Ingress配置和服务,更容易扩展和维护服务/应用,降低管理成本。

 

集群升级或重建时透明的集群迁移:通过规则将流量迁移到健康集群,升级或重建完成后再转发回来。

 

常见的基于DNS的同城跨AZ多活容灾方案架构,如下图所示:

 

 

 

 

 

02. 混合云同城多活容灾

 

 

 

ACK One还支持通过ALB多集群网关和MSE多集群网关来实现混合云/多云的同城跨AZ多活容灾系统。让您可以在阿里云上快速为云下IDC服务构建容灾能力,并可以通过云上弹性能力快速提升业务的服务能力。

 

该方案有以下网络前提:

 

需要打通云上VPC和IDC集群的Node CIDR和Pod CIDR的通信链路。

 

若IDC集群是Overlay容器网络:

 

- ALB多集群网关,需要在IDC集群使用NodePort type Service实现。

 

- MSE多集群网关,目前没有成熟的产品化容器网络打通方案(VPC <-> Pod CIDR),需要路由到一个固定节点,有单点故障和瓶颈的风险。

 

以下是基于ACK One ALB多集群网关的混合云同城跨AZ多活容灾系统架构(MSE网关架构一致):

 

 

1. 将IDC或第三方公共云Kubernetes集群通过注册集群(AZ2)注册到ACK,并通过专线打通云上云下网络;

 

2. 在注册集群相同Region和VPC下,创建ACK One 舰队,并在AZ1创建一个ACK集群;

 

3. 通过ACK One GitOps将服务分发到已创建的Cluster 1和IDC Cluster中;

 

4. 通过ACK One舰队创建多集群网关;

 

5. 多集群网关创建成功后,在舰队中,通过创建Ingress来实现同城跨AZ容灾能力,当某集群异常时,流量将自动重新路由到另一个健康集群中;

 

6. MySQL/RDS数据同步需要依赖中间件自身能力。

 

 

 

 

03. 异地容灾

 

 

 

异地容灾可以防范地域性质的灾难损害,但同时具有更高的延迟,以及更高的费用和维护成本。基于ACK One多集群网关的异地容灾系统和基于DNS的异地容灾系统在异地容灾场景各有适用场景,下面介绍二者的架构和各自的适用场景。

 

 

 

基于ACK One多集群网关的异地容灾方案

 

 

ACK One支持通过ALB多集群网关来快速实现异地容灾系统,该方案适用场景主要是:

 

跨地域高可用、本地域资源不足。(比如在AI热潮的当下,GPU资源异常紧缺)

 

客户端应用对时延不十分敏感,但需要更强的多集群流量管理能力。

 

架构如下:

 

 

1. 在2个Region各创建一个ACK集群,并在Region 1创建ACK One舰队和ALB多集群网关,在Cluster 2中安装ALB Ingres Controller,创建出ALB 2,用于冷备;

 

2. 并通过GTM对接Region 1的ALB多集群网关和Region 2的ALB实例,以实现Region 1宕后,可以切换到Region 2;

 

3. 在舰队中,通过多集群网关实现跨Region的两个集群灵活的7层流量转发(如QUIC的0-RTT、基于header转发等),并能提供Region 2宕后,自动fallback到Cluster 1中;

 

4. Cluster 1和Cluster 2通过CEN或VPC对等连接等方式打通后,跨地域流量通过专线转发,保证可靠性;

 

5. RDS数据同步需要依赖中间件自身能力。

 

基于ACK One多集群网关的异地容灾系统方案,具有以下优势:

 

更强的多集群路由转发能力:如基于内容的高级路由、比GTM更灵活的health check,适应更复杂的应用场景。

 

统一多集群流量管理入口:在一个控制面(舰队)管理Ingress配置和服务,更容易扩展和维护服务/应用,降低管理成本。

 

缓解DNS客户端缓存问题:从上述异常场景容灾情况可以看出,相较而言,更高频率出现的服务异常,甚至是集群异常,无需DNS切换IP,可毫秒级/秒级故障转移

 

从上面的架构可以看出完整的容灾能力由ALB多集群网关和GTM共同实现,ALB多集群网关可以统一管理多集群的流量路由和转发。

 

对于Region 1的集群宕、服务出现异常,和Region 2宕,ALB多集群网关都会自动切流到健康集群,无需切换DNS IP;

 

仅对Region 1宕或者Region 1 ALB服务宕,才会由GTM基于health-check切换IP。

 

 

 

基于DNS的异地容灾方案

 

 

基于DNS的异地容灾方案,优势在于全局流量管理GTM[4]是全球级别的,适用于就近访问等场景。

 

基于DNS的异地容灾方案,架构如下图所示:

 

 

1. 在两个地域,分别创建一个ACK集群:Cluster 1和Cluster 2。并且每个集群一个ALB/NLB/SLB;

 

2. 通过ACK One的GitOps能力将服务分发到已创建的Cluster 1和Cluster 2集群中;

 

3. 使用GTM对接两个ACK集群中代理后端服务的ALB/NLB/SLB实例上,实现同城异地容灾能力,当某集群异常时,GTM通过自动切换IP,实现将流量重新路由到另一个健康集群中;

 

4. RDS数据同步需要依赖中间件自身能力。

 

 

 

 

总结

 

 

 

综上所述,ACK One多集群网关可以帮助您快速构建同城跨AZ多活容灾系统、混合云同城跨AZ多活容灾系统,以及异地容灾系统,并且让您的故障转移更加平滑(毫秒级/秒级),方便您管理和扩展多集群服务,降低管理成本和费用成本等。更多内容可详见ACK One多集群网关[1]ACK One多集群容灾最佳实践[5]

 

欢迎加入ACK One 客户交流钉钉群,与我们一同交流。(钉钉群号:35688562

 

 

相关链接:

 

[1] ACK One多集群网关

https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/user-guide/multi-cluster-gateway/

 

[2] 分布式云容器平台ACK One

https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/product-overview/ack-one-overview

 

[3] ACK One注册集群

https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/user-guide/registered-clusters/

 

[4] 全局流量管理GTM

https://help.aliyun.com/zh/dns/global-traffic-management/

 

[5] ACK One多集群容灾最佳实践

https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/use-cases/multi-cluster-disaster-tolerance/



我们是阿里巴巴云计算和大数据技术幕后的核心技术输出者。

欢迎关注 “阿里云基础设施”同名微信微博知乎

获取关于我们的更多信息~


相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
27天前
|
人工智能 算法 调度
阿里云ACK托管集群Pro版共享GPU调度操作指南
本文介绍在阿里云ACK托管集群Pro版中,如何通过共享GPU调度实现显存与算力的精细化分配,涵盖前提条件、使用限制、节点池配置及任务部署全流程,提升GPU资源利用率,适用于AI训练与推理场景。
174 1
|
5月前
|
运维 Kubernetes Cloud Native
智联招聘 × 阿里云 ACK One:云端弹性算力颠覆传统 IDC 架构,打造春招技术新范式
在 2025 年春季招聘季的激战中,智联招聘凭借阿里云 ACK One 注册集群与弹性 ACS 算力的深度融合,成功突破传统 IDC 机房的算力瓶颈,以云上弹性架构支撑千万级用户的高并发访问,实现招聘服务效率与稳定性的双重跃升。
|
1月前
|
弹性计算 监控 调度
ACK One 注册集群云端节点池升级:IDC 集群一键接入云端 GPU 算力,接入效率提升 80%
ACK One注册集群节点池实现“一键接入”,免去手动编写脚本与GPU驱动安装,支持自动扩缩容与多场景调度,大幅提升K8s集群管理效率。
209 89
|
5月前
|
运维 监控 Cloud Native
智联招聘 × 阿里云 ACK One:云端弹性算力颠覆传统 IDC 架构,打造春招技术新范式
在 2025 年春季招聘季的激战中,智联招聘凭借阿里云 ACK One 注册集群与弹性 ACS 算力的深度融合,成功突破传统 IDC 机房的算力瓶颈,以云上弹性架构支撑千万级用户的高并发访问,实现招聘服务效率与稳定性的双重跃升。文章介绍了 ACK One+ACS 的弹性架构如何解决了春招的燃眉之急,让智联招聘的技术团队能够聚焦创新业务开发,欢迎关注。
|
6月前
|
资源调度 Kubernetes 调度
从单集群到多集群的快速无损转型:ACK One 多集群应用分发
本文介绍如何利用阿里云的分布式云容器平台ACK One的多集群应用分发功能,结合云效CD能力,快速将单集群CD系统升级为多集群CD系统。通过增加分发策略(PropagationPolicy)和差异化策略(OverridePolicy),并修改单集群kubeconfig为舰队kubeconfig,可实现无损改造。该方案具备多地域多集群智能资源调度、重调度及故障迁移等能力,帮助用户提升业务效率与可靠性。
|
4月前
|
运维 Kubernetes 持续交付
ACK One GitOps:让全球化游戏服务持续交付更简单
ACK One GitOps 致力于提供开箱即用的多集群 GitOps 持续交付能力,简化游戏等服务的多集群/多地域统一部署,让您更加专注于业务开发。
|
5月前
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
297 14
|
监控 负载均衡 安全
微服务(五)-服务网关zuul(一)
微服务(五)-服务网关zuul(一)
|
安全 5G 网络性能优化
深入理解5G中的SAEGW:服务网关边界
【10月更文挑战第9天】
459 0
|
运维 Kubernetes 安全
利用服务网格实现全链路mTLS(一):在入口网关上提供mTLS服务
阿里云服务网格(Service Mesh,简称ASM)提供了一个全托管式的服务网格平台,兼容Istio开源服务网格,用于简化服务治理,包括流量管理和拆分、安全认证及网格可观测性,有效减轻开发运维负担。ASM支持通过mTLS提供服务,要求客户端提供证书以增强安全性。本文介绍如何在ASM入口网关上配置mTLS服务并通过授权策略实现特定用户的访问限制。首先需部署ASM实例和ACK集群,并开启sidecar自动注入。接着,在集群中部署入口网关和httpbin应用,并生成mTLS通信所需的根证书、服务器证书及客户端证书。最后,配置网关上的mTLS监听并设置授权策略,以限制特定客户端对特定路径的访问。
399 2

推荐镜像

更多