karmada容灾方案

发布时间 2023-08-01 14:46:28作者: muzinan110
  • 同城灾备分为「冷备」和「热备」

    • 冷备: 定期备份数据,不提供服务

    • 热备: 实时同步数据,并做好随时切换的准备,不提供服务

  • 同城双活:同城双活比同城灾备的优势在于,两个机房都可以接入「读写」流量,提高可用性的同时,还提升了系统性能。

  • 异地双活:异地双活才是抵御「城市」级别灾害的更好方案,两个机房同时提供服务,故障随时可切换,可用性高,但实现也最复杂。

  • Sync同步资源操作由另外的程序来实现,目前只针对非工作负载类型的资源同步,其他工作负载类型的资源不同步。

    • 同步的资源对象:

      • Secret

      • ConfigMap

      • RoleBinding

      • ClusterRoleBinding

      • Namespace

      • 非工作负载类型的CR

    • 不同步的资源对象:

      • Deployment

      • Statefulset

      • 工作负载类型的CR

  • 四个组件:

    • 双活锁:使用独立的分布式Redis集群来做双活控制平面的抢锁服务,支持自动和手动设置主从集群状态

    • Webhook:拦截资源,给资源打上时间戳(纳秒)作为版本号

    • Producer:watch资源的创建/更新/删除事件,将资源和事件类型数据生产到Kafka Topic中,以便对端consumer消费,完成资源的同步

    • Consumer:从对端producer所生产的Kafka Topic中消费数据,将较新的资源同步过来