基于ACK One构建混合云同城容灾系统

对于当前业务运行在IDC或第三方公共云的Kubernetes集群中的系统架构,如果希望通过云计算为云下业务提供同城灾备的高可用冗余能力,可利用阿里云分布式云容器平台 ACK One来提供统一的流量、应用和集群管理,实现业务流量的多集群路由和灾难情况下流量的自动平滑容灾。本文主要介绍如何通过ACK One快速构建混合云同城容灾系统。

混合云同城容灾系统架构

image

基于ACK One的注册集群、多集群舰队(GitOps可选)、多集群网关构建的混合云场景的同城多活容灾系统如上图所示:

  • 阿里云的云上资源都在1个VPC中(如图中VPC 1),在AZ1创建ACK集群,在AZ2中创建注册集群;

  • 将IDC或第三方公共云的Kubernetes集群,通过注册集群注册到阿里云;并使用专线打通IDC与云上VPC的网络,实现云上云下网络互通互联;

  • 关联ACK集群和注册集群到同个VPC(VPC 1)下的ACK One Fleet实例,并通过ACK One GitOps向ACK集群和注册集群发布应用;

  • 在ACK One Fleet中,通过MseIngressConfig创建MSE网关,并将集群添加到网关,然后通过在Fleet中创建Ingress设置流量路由规则,来管理南北向流量以及实现同城容灾。

构建混合云同城容灾系统流程

步骤一:规划网络并创建ACK One Fleet实例

  • ACK One Fleet、ACK集群、注册集群在相同VPC下。

  • ACK集群和注册集群在不同的AZ。

舰队管理网络规划请参见舰队管理网络规划

步骤二:使用ACK One注册集群管理IDC/第三方公共云Kubernetes集群

步骤三:云下网络与云上VPC的互联互通

步骤四:关联注册集群和ACK集群到ACK One Fleet

具体操作,请参见管理关联集群

步骤五:使用GitOps发布应用到多个集群

具体操作,请参见使用GiOps部署应用到多个集群

步骤六:基于多集群网关实现同城容灾

具体操作,请参见基于多集群网关实现同城容灾。主要流程如下:

  • 在ACK One Fleet中开启多集群网关能力;

  • 在Fleet中通过创建MseIngressConfig来创建网关,并添加ACK集群和注册集群到网关;

  • 在Fleet中创建路由规则(Ingress)实现同城容灾。

相关文档

ACK One详细功能介绍,请参见ACK One概述