K8S容灾方案的五个关键点

容灾恢复是绝大多数企业级应用的基本要求

在没有Kubernetes也没有容器的时候,备份和恢复解决方案通常在虚拟机(VM)级别上实现。当应用程序在单个VM上运行时,容灾系统适用于这样的传统应用程序。但是,当使用Kubernetes对应用程序进行容器化管理时,这样的容灾系统就无法使用了。有效的Kubernetes容灾恢复方案必须针对容器化架构进行重新设计,并按Kubernetes的原生方式来运行。

传统的基于VM的备份和恢复解决方案,使用快照来收集数据,但这些数据对于某个具体容器化应用并不足够。因为任何一个特定的VM都将包含来自多个应用的数据。如果您尝试通过VM快照来备份APP 1,将会同时获取其他应用的多余数据。但这些数据从容器角度来看又不够:APP 1可能还会将数据存储在其他VM上。因此通过对某个单独VM的快照无法捕获所有APP1的数据。

基于分布式体系结构的现代应用需要的容灾方案,需要能够找到特定应用的所有相关数据和配置信息,并能够以零RPO(Recovery Point Objective,复原点目标)和接近零RTO(Recovery Time Object,复原时间目标)的方式进行恢复。

一个有效的Kubernetes容灾解决方案需要具备:

容器粒度的控制

能够备份数据和配置

Kubernetes命名空间感知

针对多云和混合云架构的优化

保持应用的一致性

容灾解决方案必须满足以上五个标准,才能确保Kubernetes上运行的含大量数据的应用程序在容灾恢复的时候,满足服务水平协议(SLA)或相关法律要求。

让我们分析一下为什么这五个标准都很重要。

容器粒度控制  

容器粒度控制容灾方案意味着用户可以备份特定的Pod或Pod组,而不是备份整个VM或服务器。这使得用户可以仅快照属于该应用程序的容器。

假设您有一个三节点Kubernetes集群,其中有一个三节点Cassandra环和三个单节点PostgreSQL数据库,分布在三个虚拟机上。使用传统的灾难恢复解决方案,备份群集的唯一方法是备份三个虚拟机。这将导致提取,转换和加载过程带来的复杂性增加,存储成本增加和RTO增加。备份充足数据的唯一方法是备份超出必要数据的更多数据。

使用容器粒度的方式,可以在三个VM上仅备份一个PostgreSQL数据库或三节点Cassandra环,而无需其他任何备份。

Kubernetes命名空间感知  

传统的备份和恢复解决方案不是以Kubernetes的方式进行的。

Kubernetes中的命名空间通常运行多个相关的应用程序。例如,企业Kubernetes部署中的一种常见模式是使公司/部门所有的应用都运行在同一个命名空间内。在这种情况下,通常有必要一起备份Kubernetes命名空间中的所有应用程序。

但是,像每个单独的应用一样,命名空间分布在许多虚拟机上。每个虚拟机可能还有来自几个不同命名空间的Pod。如果没有支持命名空间的容灾解决方案,则完全备份将需要备份和存储远远超出必要的数据。即使采用了这种过分的备份策略,在发生故障的情况下也很难还原整个命名空间,从而导致较高的RTO。

应用的一致性 

即使您想通过备份系统中的所有VM来解决上述问题,使用传统的容灾恢复方案也很难避免数据损坏。为了成功地备份分布式应用,而没有数据损坏的风险,在快照进行过程中,必须锁定应用程序中的所有Pods。基于VM的快照无法实现此目的,因为它们无法锁定整个应用程序,无法跨多个VM执行应用一致性的快照。

成功的快照,要使数据损坏风险最小化,并必须保持分布式架构的应用的一致性。这意味着在锁定属于应用程序的所有Pods的同时,来执行快照。

数据和配置备份 

容灾系统的目标不仅是防止数据丢失,还在于保持RTO较低。您需要应用程序在遇到问题后尽快重新启动并运行。

这需要备份应用数据和配置信息。如果备份中不包含配置信息,则必须就地重建应用程序,这是一个缓慢,手动且可能容易出错的过程。但是,如果仅保存配置,则可能会丢失所有数据。

一个真正的Kubernetes的企业级容灾系统将同时包含数据和配置备份。这样在系统失败后,可以用一两个命令快速重新部署应用程序。

针对多云和混合云架构进行了优化 

绝大多数企业在实践中,应用程序至少在两个环境中运行。这可能意味着多个本地数据中心或多个Amazon Web Services(AWS)区域。在容灾恢复的情况下,通常将一个数据中心作为主站点,而将第二个数据中心作为备份站点。但是,也有许多公司使用公有云和本地数据中心的组合来运行应用程序并满足其业务需求。在大多数情况下,企业会根据其RPO和RTO要求选择最佳的架构方式。

对于容灾恢复解决方案而言,结合这些不同的架构方式以支持不同级别的RPO和RTO至关重要。有效的容灾恢复解决方案应该能够提供同步和异步数据复制,具体取决于主群集和备份群集之间的延迟。

当主站点和备份站点之间的往返延迟通常在10毫秒以下时,可以实现允许RTO和RPO为零的同步复制。这种情况通常是当主集群和备份群集所在数据中心地理相距较近。

在某些情况下,企业希望主站点和备份站点之间的地理距离远一些。在这种情况下,RTO仍可以为零或接近零。但是延迟的增加,同步复制数据会产生比较大的性能问题。如果应用能够接受15分钟或1小时的RPO,则也是可接受的容灾方案。

Kubernetes的企业级容灾恢复方案,应为用户提供适用于多云或混合云架构的,同步复制或异步复制的选择。这样可以使用户能够基于自己的数据中心架构和业务需求情况,来选择不同的容灾恢复方案。

结论  

当企业将关键业务应用迁移至Kubernetes时,重新思考和设计容灾恢复的方案非常重要。实际上可以做到在满足与容灾相关的SLA的同时,

在Kubernetes上运行应用。

但它需要采用专为Kubernetes设计的容灾方法,与Kubernetes的工作方式深入结合。传统的基于VM的容灾解决方案无法做到这一点。

Portworx Enterprise 存储平台是专门为容器和Kubernetes构建的。它可为Kubernetes上运行的应用实现零RPO和接近零的RTO容灾恢复。并具有容器粒度控制的,命名空间感知的,应用一致性的容灾恢复。故障恢复可以完全自动化,从尽可能降低RTO

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,817评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,329评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,354评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,498评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,600评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,829评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,979评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,722评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,189评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,519评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,654评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,940评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,762评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,993评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,382评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,543评论 2 349

推荐阅读更多精彩内容

  • 备份 常用备份拓扑 存储网络主要分为前端业务网以及后端的存储网络,业务网主要受理用户的请求,后端存储网主要用户数据...
    dawsonenjoy阅读 1,290评论 0 1
  • 将围绕如下几个方面展开: 工行 IT 架构转型中传统 OLTP 数据库架构面临的挑战和诉求。 构建基于 MySQL...
    java菜阅读 378评论 0 4
  • 在我心里,人生之中的大事有生 老 病 死 四件事,可最重要的是什么事呢?在人生大事上,生和死不受自己的控制。老也...
    梅启林阅读 229评论 1 1
  • part 1 import pygame 导入pygame模块 1.初始化pygame 2.创建游戏窗口 3.游...
    02b2972e6a93阅读 423评论 0 2
  • 理财规划师的有很大一部分工作是要帮助客户梳理需求和财务目标,会涉及到很多财务信息,如何让客户愿意配合提供,有效沟通...
    凌掌柜的小金库阅读 317评论 0 2