赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 分布式云容器平台ACK One
  4. 实践教程
  5. 多集群容灾
  6. 基于ACK One ALB多集群网关实现异地容灾

基于ACK One ALB多集群网关实现异地容灾

  • 多集群容灾
  • 发布于 2025-04-18
  • 0 次阅读
文档编辑
文档编辑

ACK One支持通过ALB多集群网关来实现异地容灾系统,异地容灾可以防范地域性质的灾难损害,例如地震、水灾等灾害,但同时会带来更高的延迟、更高的费用及维护成本。本文将介绍通过ALB多集群网关来实现异地容灾系统的架构和使用场景。

方案架构

image
  • 在两个地域中各创建一个ACK集群,并在地域1中创建ACK One舰队和ALB多集群网关,在Cluster 2中安装ALB Ingress Controller,创建出ALB 2,用于冷备。

  • 通过GTM对接地域1中的ALB多集群网关和地域2的ALB实例,以实现地域1发生地质灾害后,可以切换到地域2中的ALB 2。

  • 在舰队中,通过多集群网关实现跨地域的两个集群灵活的7层流量转发,如QUIC的0-RTT、基于header转发等,二者互作灾备。

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

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

方案优势

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

  • 更强的多集群路由转发能力:提供基于内容的高级路由功能,以及比传统GTM更灵活的健康检查机制,以适应更复杂的应用场景。

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

  • 缓解DNS客户端缓存问题:通过容灾场景可以看出,高频率服务异常或集群异常,无需DNS切换域名解析IP,可实现秒级故障转移。

适用场景

通过ALB多集群网关来快速实现多地域容灾系统主要适用以下场景:

  • 跨地域高可用、本地域资源不足。例如在AI热潮的当下,GPU资源异常紧缺等情况。

  • 客户端应用对时延要求不高,但需要更强的多集群流量管理能力。

完整的容灾能力由ALB多集群网关和GTM共同实现,ALB多集群网关可以统一管理多集群的流量路由和转发。以下故障恢复场景为您介绍何时由GTM切换流量,何时由多集群网关处理。

  • 对于地域1内的集群故障或服务出现异常,或者地域2发生地质灾害时,ALB多集群网关都会自动切流到健康集群,无需切换DNS IP。

  • 只有在地域1发生地质灾害或ALB服务故障时,GTM才会基于健康检查将流量切换到地域2的ALB。

前提条件

  • 已购买GTM实例。

  • 已开启舰队管理功能。

  • 已从ACK One控制台获取Fleet实例的KubeConfig,并通过kubectl连接至Fleet实例。

步骤一:规划网络及跨地域网络互联互通

  1. 网络规划。

    1. ACK Cluster 1和ACK Cluster 2 位于不同的地域,并且两个集群的Node CIDR和Pod CIDR均互不重叠。

    2. ACK One舰队与ACK Cluster 1在相同地域、相同VPC下。

    3. 已连接两个地域的VPC间网络。具体操作,请参见网络连接,如果采用云企业网,请详见跨地域连接。

    4. 打通跨地域VPC网络后,请配置两个ACK集群的安全组允许ALB多集群网关所在VPC访问。具体操作,请参见配置集群安全组。

    更多信息,请参见舰队管理网络规划。

  2. ACK One舰队关联两个跨地域的ACK集群。具体操作,请参见管理关联集群。

步骤二:基于ALB多集群网关实现异地容灾

异地容灾主要流程如下。详细操作,请参见构建同城容灾系统。

  1. 使用GitOps或应用分发 向两个集群分发应用,保证应用的一致性。

  2. 在ACK One舰队中通过创建AlbConfig来创建ALB多集群网关,并将两个ACK集群添加到网关。

  3. 根据如下示例在ACK One舰队中创建路由/转发规则(Ingress)实现同城异地容灾。更多路由能力,请参见不同场景下的流量管理方式和配置Ingress。

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      annotations:
        alb.ingress.kubernetes.io/listen-ports: |
         [{"HTTP": 8001}]
        alb.ingress.kubernetes.io/cluster-weight.${cluster1-id}: "20"
        alb.ingress.kubernetes.io/cluster-weight.${cluster2-id}: "80"
      name: web-demo
      namespace: gateway-demo
    spec:
      ingressClassName: alb
      rules:
      - host: alb.ingress.alibaba.com
        http:
          paths:
          - path: /svc1
            pathType: Prefix
            backend:
              service:
                name: service1
                port:
                  number: 80

步骤三:定期备份Ingress资源

为了保证地域1发生故障时服务的持续运行,应定期备份地域1舰队中的Ingress资源和AlbConfig。在故障发生时,将这些Ingress资源同步到Cluster 2,使ALB 2能够将流量转发到Cluster 2的后端服务,从而确保服务的正常运行。

您可以自行选择备份方式,例如将数据备份到地域2的OSS等。

步骤四:配置GTM主备容灾

完成上述步骤后,您将具备对异地两个集群的统一管理能力以及部分容灾能力。当地域1的集群或服务出现异常,或者地域2发生故障时,ALB多集群网关将自动平滑地将流量故障转移。此外,对于地域1发生地质灾害或地域1 ALB服务故障的情况,我们借助云解析DNS的全局流量管理(GTM)进行主备容灾管理。本步骤可在地域1发生故障时,再做配置。具体流程如下:

  1. 在地域2的ACK Cluster 2中通过ALB Ingress创建ALB实例。相关操作,请参见创建AlbConfig。

  2. 将地域1的ALB多集群网关和地域2的ALB实例的DNSName配置到GTM,形成主备结构,以便在地域1发生故障时,GTM可以基于健康检查自动切换到由地域2提供服务。相关操作,请参见GTM如何实现主备容灾。

    说明

    此步骤中的GTM切换仍会因DNS客户端的本地缓存问题而导致较长时间的服务中断。

相关文章

基于Kubernetes容器集群的容灾架构与方案 2025-04-18 18:07

在进行系统架构设计时,您必须考虑到信息系统和基础设施可能遇到的各种潜在威胁,例如:硬件故障、软件系统崩溃、人为操作失误、安全攻击、自然灾害等。为了确保系统能够在各种异常故障场景下快速恢复并保持业务连续性,您必须为系统设计一套完善的容灾方案。本文以Kubernetes集群(包括容器服务 Kuberne

基于ACK One ALB多集群网关实现同城容灾 2025-04-18 18:07

通过ACK One ALB多集群网关,结合ACK One GitOps或多集群应用分发,可以快速实现应用的同城多活容灾,保证应用高可用,并在故障发生时自动平滑迁移。本文介绍如何通过多集群网关构建同城容灾系统。 容灾概述 目前云上容灾主要分为以下三类:

基于ACK One ALB多集群网关实现混合云容灾 2025-04-18 18:07

如果您的业务运行在IDC或第三方公共云Kubernetes集群中,可以通过ACK One多集群网关为这些业务构建混合云、跨云容灾系统,实现灾难时自动平滑切换。本文介绍如何通过ACK One快速构建混合云同城多活容灾系统。 混合云同城容灾系统架构 基于ACK One的注册集群</

基于ACK One ALB多集群网关实现异地容灾 2025-04-18 18:07

ACK One支持通过ALB多集群网关来实现异地容灾系统,异地容灾可以防范地域性质的灾难损害,例如地震、水灾等灾害,但同时会带来更高的延迟、更高的费用及维护成本。本文将介绍通过ALB多集群网关来实现异地容灾系统的架构和使用场景。 方案架构

基于ACK One MSE多集群网关实现同城容灾 2025-04-18 18:07

多集群网关(Multi-cluster Gateways)是ACK One为多云、多集群环境提供的云原生网关,通过托管MSE Ingress并使用Ingress API以管理七层南北向流量。多集群网关支持同城自动容灾和基于Header的灰度发布,可以帮您简化多集群应用的运维和节省成本,结合ACK O

基于ACK One MSE多集群网关实现混合云容灾 2025-04-18 18:07

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

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号