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

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

3回答

结合我司在实际项目案例中的实践,简单提以下几点:1)虚拟机层面:备份平台定时备份容器平台虚拟机,实现虚拟机粒度恢复,当主数据中心故障后,通过最近数据点或者最近快照点,迅速启动接管机,根据提前为应用规划的备数据中心地址,在原虚拟机中编写自动修改灾备段IP地址的脚本,执行后自动...显示全部

结合我司在实际项目案例中的实践,简单提以下几点:
1)虚拟机层面:备份平台定时备份容器平台虚拟机,实现虚拟机粒度恢复,当主数据中心故障后,通过最近数据点或者最近快照点,迅速启动接管机,根据提前为应用规划的备数据中心地址,在原虚拟机中编写自动修改灾备段IP地址的脚本,执行后自动修改IP地址生效,接管业务。对通过F5进行访问需求的应用,根据应用类型和访问要求,提前或者切换后进行member、pool和VS的添加。
2)Kubernetes集群:Kubernetes集群采用主备数据中心各部署一套,应用发布在两套Kubernetes集群中;业务应用采用镜像仓库中同版本的容器镜像部署在主备数据中心的两套Kubernetes集群中,一边数据中心故障后,不影响业务服务;
3)应用数据:使用GlusterFS,由 GlusterFS保障数据层面的容灾能力;
4)数据库:采用分布式数据库的灾备机制保障数据有效性;
5)容器镜像仓库:容器镜像仓库采用主备数据中心各部署一套高可用仓库,容器镜像的构建推向主数据中心和备数据中心不同镜像仓库中
6)负载均衡器主备负载:在主备数据中心同时部署两主备的 F5 ,组成一个集群

收起
 2020-07-07
浏览213
容器云平台的容灾设计一般从几个层面考虑: 管理平面:目前大多数容器云平台产品都具备了多集群管理的能力,管理平面作为整个容器云的统一管理平台,需要具备异地容灾的能力。管理平面各家厂商使用的架构和技术实现不同,Rancher的管理平面是基于k8s实现的,也就是Rancher容器云的...显示全部

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

  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
浏览309
zola538550zola538550  技术总监 , 上汽集团
容灾这个层面目前我们更聚焦在数据层面,镜像数据、etcd数据、应用编排配置数据;镜像数据是基于harbor来实现的,做了两地数据中心之间的同步;etcd数据定期备份,用于集群的重建;应用编排和配置数据,通过gitlab、配置中心等组件,实现异地的业务恢复。...显示全部

容灾这个层面目前我们更聚焦在数据层面,镜像数据、etcd数据、应用编排配置数据;
镜像数据是基于harbor来实现的,做了两地数据中心之间的同步;
etcd数据定期备份,用于集群的重建;
应用编排和配置数据,通过gitlab、配置中心等组件,实现异地的业务恢复。

收起
 2020-06-12
浏览331

提问者

victango系统运维工程师, Anhui Heli Co., Ltd.

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

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

问题状态

  • 发布时间:2020-06-12
  • 关注会员:4 人
  • 问题浏览:1700
  • 最近回答:2020-07-07