Kubernetes应用程序脆弱得像雪花:寻找可扩展的保护框架

随着开发人员和应用程序团队选择容器和Kubernetes作为构建、部署、运行和扩展应用程序的首选技术,越来越多的数据应用程序每天都会登陆Kubernetes。越来越多的独立软件供应商(ISV)将其应用程序打包成容器分发到Kubernetes上运行,在所有垂直行业中大量使用这些应用程序。许多这样的应用程序都是业务关键型的,其中断可能会导致严重的收入、生产率和声誉损失。

当企业意识到保护其Kubernetes应用程序的业务需求时,他们转而使用市场上可用的开源或商业解决方案。保护Kubernetes应用程序通常需要在发生灾难、网络攻击、恶意或意外用户错误后恢复应用程序:

——在同一集群

——同一地区的不同集群

——区域/地理上的独立集群

应用这些解决方案来保护和移动Kubernetes应用程序通常不会一蹴而就。Kubernetes(使用自定义资源定义)的灵活性和可扩展性使其在开发人员中非常流行,这使得保护Kubernetes应用程序变得更加困难,因为没有标准的方法来确定灾难后需要备份什么才能成功恢复。

现实世界中的Kubernetes应用程序是雪花

由于没有一个定义应用程序组成部分的标准Kubernetes规范,因此确定要备份和克隆哪些资源的问题尤其具有挑战性。因此,专注于Kubernetes应用程序保护(提供备份/恢复和灾难恢复(DR))的解决方案会假设开发人员将如何构建其应用程序,并尽最大努力找出实际应用程序的组成部分,以及如何最好地保护它。

这种方法可以实现Kubernetes应用程序发现过程的自动化。在高度动态的Kubernetes环境中,自动化应用程序发现过程是可取的。然而,自动发现通常只适用于应用程序简单且仅限于命名空间的一部分情况。如果应用程序跨越多个命名空间,具有集群范围的资源,和/或使用外部完全管理的数据库、数据存储或消息服务,那么提供的过于简单的应用程序发现和随后的应用程序保护功能不足以保护大多数Kubernetes工作负载。

Kubernetes应用程序的构成

大多数真实世界的Kubernetes应用程序都不符合开发人员开发和部署Kubernetes应用程序所遵循的标准配方。开发人员如何定义Kubernetes应用程序可以是以下内容的组合(不是详尽的列表):

App=1..1个命名空间中有N个资源

App=1..N个命名空间

App=1..N个命名空间+1..N个集群范围的资源

App=1..N个资源位于1..N个命名空间+1..N个集群范围的资源

App=1..N个资源位于1..N个命名空间+1..N个集群范围的资源+外部资源(例如,公共云中的完全管理的数据库)

如上所述,使用命名空间作为应用程序分隔符并不能涵盖开发人员定义其Kubernetes应用程序的所有不同方式。自动推断构成Kubernetes应用程序的所有组件也可能导致识别Kubernetes应用程序资源的失误。

使用用户输入的自定义应用程序定义

为了有效地备份和恢复应用程序,用户必须能够指定Kubernetes应用程序的组成部分,该应用程序提供关键的“服务”,必须确保其业务连续性。理想情况下,应该让用户有机会使用Kubernetes原生机制定义其应用程序,或者允许用户定义符合上面列举的应用程序定义模式的自定义应用程序。

在某些情况下,同样重要的是确定应该从应用程序定义中排除的资源,因为这些资源在目标/目标集群或命名空间中可能不相关,从而阻止成功恢复。一个有效的Kubernetes应用程序保护解决方案必须为用户提供指定这些详细信息的能力,或者智能地促进发现此类复杂的应用程序。一旦用所有必要的资源定义了一个应用程序,保护应用程序就不再是猜测了,从而得到更可预测的结果。

钩子,还是钩子

多年来,企业备份软件一直使用钩子或前置脚本/后置脚本,使用户可以插入自定义操作来执行应用程序一致性备份,例如在拍摄快照以将内存中的表刷新到磁盘之前停止数据库。使用“执行钩子”插入自定义操作的能力在Kubernetes应用程序中有了全新的含义。可预测地控制Kubernetes应用程序的端到端备份和恢复,以在恢复后实现成功的应用程序实例化,通常需要在备份前后以及恢复前后对组成Kubernetes应用程序的多个资源执行自定义操作。

备份恢复工作流期间Kubernetes中的执行钩子可用于实现许多目标,如在备份/恢复之前或之后动态应用网络安全策略,在克隆之前更改入口控制器的注册路径,刷新IP地址,以及其他特定于应用程序的自定义操作。Kubernetes应用程序保护解决方案必须允许具有执行钩子的备份/灾难恢复工作流的可扩展性,使用执行钩子可以插入特定于应用程序的自定义操作。

不备份和恢复的内容

确定哪些应用程序资源需要保护至关重要,但哪些不需要备份和/或恢复也同样重要。这是因为某些资源(如秘密、IP地址和节点端口)在目标集群中可能与灾难恢复无关。对组成Kubernetes应用程序的所有资源进行大容量备份,然后进行后续恢复,可能会导致错误的恢复,因为目标集群中的资源子集完全无效。从概念上讲,通常有两种方法来解决这种情况。

——使用过滤器排除备份或恢复在目标集群中没有意义的特定资源,使Kubernetes或operator(部署和管理Kubernetes应用程序的流行设计模式)能够重新创建这些资源。

——在资源到达目标集群之前进行转换。

Kubernetes应用程序保护解决方案必须允许用户执行上述所有操作,以确保恢复后的应用程序行为正确。

总结

随着企业意识到需要保护其Kubernetes应用程序,在大规模采用这些解决方案之前,评估其可定制性和可扩展性非常重要。提供一套最佳实践也很重要,它可以指导开发人员在设计Kubernetes应用程序时遵循一套方法,包括推荐一套他们利用的标准集群内和外部服务,以便在关键业务Kubernetes应用程序在企业中无处不在时更容易保护它们。

原文链接:

https://thenewstack.io/kubernetes-apps-are-snowflakes-find-an-extensible-protection-framework/

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
(0)
用户投稿
上一篇 2022年6月14日
下一篇 2022年6月14日

相关推荐

  • 《熊与早餐》配置要求是什么?配置要求介绍

     游戏在steam上线后吸引了不少玩家体验,这算是一款比较轻松悠闲的小游戏,有些玩家对配置不是很清楚,这里给大家带来了熊与早餐配置要求介绍,一起来了解下吧。 配置要求介绍   最低…

    2022年7月30日
  • 上课睡觉,下课胡闹,盘点《双点校园》中的那些胡逼细节

    由双点工作室开发,世嘉发行的模拟经营游戏《双点校园》目前已经上线。作为《双点医院》的续作,尽管这次玩家的舞台来到了校园,角色身份也转换成了校长并在双点县中开设和经营不同的大学,但可…

    2022年8月16日
  • 福特锐界好吗,想选7座suv,安全,操控,空间是第一位的?

    25-30万合资SUV找不出比锐界更合适的车了。都说汉兰达是标杆,但你说的安全操控和空间锐界都远超汉兰达。2.0高功发动机+8at(通用9at优化版)+CD4平台(60亿美金打造)…

    2022年7月26日
  • 宝通科技:首位裸眼3D MR空间数字人诞生

    7月10日,宝通科技官微宣布,其首位数字员工“彤”在其商业级裸眼混合现实空间“SPACE1”中正式上线。

    2022年7月11日
  • 跨境电商TIKTOK入局(框架)

    国内短视频电商的成功到内卷,新的风口TIKTOK(抖音国际版)现在入局还来得及。 对于想入场TIKTOK,当前列一个框架,之后再每一项详细讲解。 1、硬件设备; 1.1、《手机》苹…

    2022年7月20日
  • 康王洗发水去屑效果怎么样(口碑最好的去屑洗发水)

    头发是最容易暴露细节之处的不完美,油腻软塌的头发倒还好,清洗过后就能恢复清爽蓬松的样子,头皮屑才是最让人头疼的。随时随地都可能像雪花一样顺着发丝往下掉,掉落粘在衣服上的细碎头皮屑尤…

    2022年4月20日
  • 年末到底是不是买车最佳时机?

    年末岁尾,对自己一年工作的总结或者奖励,给自己买一台车换者换一台车,是对自己一年来工作成绩的肯定和鼓励。 那么年末是不是一年中最佳的购车时机呢?我来分析分析。 各大车企4S店等等,…

    2022年7月24日
  • 怎么不压缩文件夹设置密码

    电脑里经常会存储着重要文件,这些文件需要进行加密,有许多方法来实现。给不压缩的文件夹设置密码,可以通过文件属性中的设置进行操作。 怎么不压缩文件夹设置密码 1、在桌面“开始”里找到…

    2022年5月16日
  • 望岳谈|高层会议点名“经济大省”,山东如何挑大梁

    李子路 疫情要防住,经济要稳住,发展要安全。三者相辅相成,稳住经济依然是重中之重。 经济大省是国家经济发展的“顶梁柱”。7月28日,中央政治局会议明确提出,经济大省要勇挑大梁。8月…

    2022年8月19日
  • 人间最美是盛夏,露营正当时!荣威iMAX8与大家庭更配哦

    因为疫情的缘故,全国大范围的长途出行受限,因此很多人对旅游的寄托便放在了露营上。如今,论朋友圈的最火场景莫过于露营了,大家都在齐刷刷地晒野餐、烧烤以及帐篷和吊床…&#8…

    2022年8月9日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息