概述


多集群网格通过EastWest Gateway进行跨集群互联,在出站路由层结合本地优先与Failover策略保证就近访问与故障切换。在区域故障或实例异常时自动切换到备份集群,提升可用性与性能。


关键实践与参数


  • EastWest Gateway: 在每个集群部署并暴露网格内部服务
  • ServiceEntry: 为跨集群目标声明外部主机与端口
  • 本地优先: `localityLbSetting` 优先同Region/Zone
  • 故障切换: `failover` 区域映射, 异常时跨区路由
  • 异常剔除: `outlierDetection` 剔除错误端点

示例/配置/实现


apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: orders-global
spec:
  hosts: ["orders.global"]
  location: MESH_EXTERNAL
  ports:
    - number: 15443
      name: tls
      protocol: TLS
  resolution: DNS

apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: dr-orders-global
spec:
  host: orders.global
  trafficPolicy:
    loadBalancer:
      localityLbSetting:
        enabled: true
        failover:
          - from: cn
            to: us
    outlierDetection:
      consecutive5xxErrors: 5
      interval: 5s
      baseEjectionTime: 30s
      maxEjectionPercent: 50

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: vs-orders
spec:
  hosts: ["orders.global"]
  tls:
    - match:
        - sniHosts: ["orders.global"]
      route:
        - destination:
            host: orders.global
            port: { number: 15443 }

验证


  • 就近访问: 在不同区域发起请求, 延迟与带宽显示本地优先效果
  • 故障切换: 注入区域故障或5xx错误, 自动切换至Failover目标
  • 剔除与恢复: 异常端点被剔除并在基准时间后恢复
  • 可观测: 采集出站请求成功率与切换事件, 设置告警

注意事项


  • DNS与Gateway需正确暴露EastWest入口
  • Failover映射需贴合业务拓扑与成本
  • 与出口治理策略一致, 防止绕过
  • 定期演练跨区切换并记录审计

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部