容器云平台如何实现容灾机制?

容器云平台如何实现容灾机制?显示全部

容器云平台如何实现容灾机制?

收起

查看其它 2 个回答江鹏的回答

容器云平台的容灾设计一般从几个层面考虑:

  1. 管理平面:目前大多数容器云平台产品都具备了多集群管理的能力,管理平面作为整个容器云的统一管理平台,需要具备异地容灾的能力。管理平面各家厂商使用的架构和技术实现不同,Rancher的管理平面是基于k8s实现的,也就是Rancher容器云的管理平面也是一个k8s集群,所以管理平面的容灾设计就成为了k8s集群跨数据中心的容灾设计。这部分Rancher的管理平面k8s支持两种k8s部署实现,标准的RKE集群(使用etcd存储)和k3s集群(可以使用类似MySQL此类关系型数据库)。etcd的跨数据中心容灾可以考虑的方案包括跨数据中心的etcd集群(对网络延迟、带宽等有要求)、etcd learner、etcd mirror maker或者最简单的etcd备份恢复等,目前来看并不是特别成熟。如果使用k3s,则可以考虑比较灵活的MySQL的容灾方案,例如通过跨数据中心的主从复制或者其他方案实现容灾。

  2. 业务集群层面:通常标准的方案是通过多数据中心多集群的方式实现容灾,本地K8s集群进行常规的etcd数据库备份,常规单个集群故障采用etcd恢复方式。数据中心级别的灾难发生时,通常考虑应用层面的多活、容灾部署而非在灾备数据中心进行集群级别的恢复。在K8s集群层面的应用数据仅为编排文件(包括configmap、secret配置等等),所以可以考虑备份应用编排文件或者helm charts的方式,实现应用的快速恢复部署。这部分Rancher提供的能力包括集群备份恢复、多集群应用、全局DNS等。集群备份恢复功能支持通过UI对集群设置定期备份或者按需备份,支持在UI界面进行一键恢复。多集群应用下支持通过Rancher的应用商店一键部署多个应用实例到Rancher管理的多个集群,同时可以对接全局DNS实现应用入口的自动发布和多集群间的负载均衡。

  3. 业务数据层面。K8s集群中仅仅包含应用编排和配置数据,应用实际的业务数据存储在持久化存储中,这部分需要独立考虑容灾方案。通常依赖于存储提供的异地容灾能力,这部分传统存储、类似Portworx、Rancher Longhorn等都有相关的方案。Longhorn的容灾方式非常简单易用,有兴趣可以参考Longhorn官网的相关文档。

  4. 容器镜像层面。这部分通常标准的做法是通过镜像仓库的复制功能实现不同数据中心之间镜像仓库的镜像同步,这里不再赘述。

 2020-06-15
浏览341

容器云管理平台选型优先顺序调查

发表您的选型观点,参与即得50金币。

回答状态

  • 发布时间:2020-06-15
  • 关注会员:4 人
  • 回答浏览:341