Kurator v0.5.0发布,打造统一的多集群备份与存储体验

2024-01-16 15:20

本文主要是介绍Kurator v0.5.0发布,打造统一的多集群备份与存储体验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Kurator 是由华为云推出的开源分布式云原生套件。面向分布式云原生场景,Kurator 旨在为用户提供一站式的解决方案,帮助用户快速构建自己的分布式云原生平台。

在最新发布的 v0.5.0 版本中,Kurator 强化了其在多集群环境中的应用备份与恢复,以及存储管理的功能,以满足用户对于复杂部署的需求。本次更新主要包括以下两项新特性:

  • 统一集群备份恢复与迁移:Kurator 现在支持一键定制化的备份与恢复多个集群中的应用和资源,并通过统一视图实时监控各集群的进度;同时,还支持跨集群资源的一键迁移功能。

  • 统一分布式存储:Kurator 实现了一致性的分布式存储解决方案,其一站式部署让用户在多集群环境下轻松实现块存储、文件存储和对象存储的应用。

统一集群备份恢复与迁移

在多云和分布式环境的持续演变中,数据的安全性与可恢复性已经成为用户高度关注的问题。对于企业来说,数据丢失往往是一个难以承受的打击,可能导致严重的业务中断和信誉损失。在以 Kubernetes 为行业标准的环境中,伴随着服务数量和集群规模的增长,数据管理的复杂度也随之增加,这使得实施高效而灵活的备份策略变得尤为重要。

面对这种需求的不断扩大和挑战的增加,传统的备份工具往往在多环境下展现出局限性,难以提供一个无缝的统一解决方案。因此,Kurator 的统一备份方案应运而生,旨在提供这一领域的备份解决方案。基于 Velero (Velero) ,Kurator 为用户提供了一键式的操作体验,可以自定义备份并恢复横跨多个集群的应用与资源。通过 Kurator 提供的统一视图功能,用户能够实时监控各个集群备份的状态和进度。其覆盖范围涵盖了从 Pod、Deployment、Service 等 Kubernetes 原生资源,到 PersistentVolumes(PVs)等持久化存储的备份和恢复,以满足现代企业多元化的数据保护需求。

统一备份

Kurator 在备份解决方案上提供了多样化的选择,以适应不同场景下的数据保护需求。其灵活性确保了不同业务场景下都能找到合适的备份策略。

  • 即时备份: 面对数据频繁变动的情形,“即时备份”能够迅速地提供保护,确保关键数据在关键时间点的完整性得以保持。

  • 定期备份:对于那些不太频繁变动,但同样需要确保持久性的数据,“定期备份”可以根据预设的时间周期性的自动执行备份,以满足合规性要求和保障数据安全。

此外,Kurator 还提供了一系列高度定制化的备份选项。例如,“特定集群备份”允许运维团队基于策略或特定需求有选择性地备份特定集群。“资源过滤”功能则提供了细粒度的控制,使管理员能够根据资源的名称、命名空间或标签等属性来精确定义备份的范围。

这些备份策略的多样性和自动化能力为用户在不断变化的业务需求中,提供了稳定和可靠的数据保护。

接下来是一个统一备份的实际操作示例:

apiVersion: backup.kurator.dev/v1alpha1kind: Backupmetadata:...name: select-labelsnamespace: defaultspec:destination:fleet: quickstartpolicy:resourceFilter:labelSelector:matchLabels:app: busyboxttl: 720hstatus:backupDetails:- backupNameInCluster: kurator-member1-backup-default-select-labelsbackupStatusInCluster:completionTimestamp: "2023-10-28T03:37:13Z"expiration: "2023-11-27T03:37:07Z"formatVersion: 1.1.0phase: Completedprogress:itemsBackedUp: 1totalItems: 1startTimestamp: "2023-10-28T03:37:07Z"version: 1clusterKind: AttachedClusterclusterName: kurator-member1- backupNameInCluster: kurator-member2-backup-default-select-labelsbackupStatusInCluster:completionTimestamp: "2023-10-28T03:37:13Z"expiration: "2023-11-27T03:37:07Z"formatVersion: 1.1.0phase: Completedprogress: {}startTimestamp: "2023-10-28T03:37:07Z"version: 1clusterKind: AttachedClusterclusterName: kurator-member2...

观察 spec 配置,可以看到备份的目标是位于 Fleet 中各集群内所有标有 app:busybox 标签的资源。通过在 spec 中配置策略的方式,可以确保相关的资源得到备份。在 status 中,可以实时追踪到备份任务在每个集群,如 kurator-member1 和 kurator-member2,的执行状况,保持了操作的透明度。

🔗 更多的示例和细节,请参考: Unified Backup | Kurator

统一恢复

基于统一备份产生的备份数据,Kurator 通过统一恢复功能支持跨集群的应用和资源恢复。

  • 针对即时备份恢复:依据“即时备份”创建的备份数据,可以快速恢复至指定关键时刻的状态。

  • 针对定期备份恢复: 针对“定期备份”,Kurator 支持将备份数据恢复到最近一次成功执行备份的时间点。

类似备份功能,Kurator 在恢复方面也提供了多样化和定制化的选项。例如,“特定集群恢复”使得用户能够只将数据恢复到指定集群,而不必覆盖所有备份中包含的集群。“资源过滤”功能则允许用户对备份数据进行进一步筛选,只选择性地恢复需要的数据项。用户可以根据备份名称、命名空间或标签等属性来定义恢复的范围,这不仅提升了恢复过程的灵活性,也确保了高度的精确性。

参阅以下操作示例,了解如何使用 Kurator 进行统一恢复:

apiVersion: backup.kurator.dev/v1alpha1kind: Restoremetadata:...name: minimalnamespace: defaultspec:backupName: select-labelsstatus:restoreDetails:- clusterKind: AttachedClusterclusterName: kurator-member1restoreNameInCluster: kurator-member1-restore-default-minimalrestoreStatusInCluster:completionTimestamp: "2023-10-28T09:24:07Z"phase: Completedprogress:itemsRestored: 2totalItems: 2startTimestamp: "2023-10-28T09:24:05Z"- clusterKind: AttachedClusterclusterName: kurator-member2restoreNameInCluster: kurator-member2-restore-default-minimalrestoreStatusInCluster:completionTimestamp: "2023-10-28T09:24:07Z"phase: Completedprogress:itemsRestored: 2totalItems: 2startTimestamp: "2023-10-28T09:24:05Z"...

通过检查恢复任务的 spec 配置,我们可以确定本次恢复操作是针对前文提到的、标记为 select-labels 的备份数据。这里使用了最低配置,不进行恢复的筛选,直接根据备份的配置进行恢复。在 status 中,同样可以实时追踪到恢复任务在每个集群的执行状况。

🔗 更多的示例和细节,请参考: Unified Restore | Kurator

统一迁移

统一迁移旨在简化将应用程序及其资源从一个集群迁移到其他多个集群的过程。用户需要定义一种 migrate 类型的资源配置,并指定源集群、目标集群及相关策略。此外,类似于 Kurator 的统一备份和恢复功能,用户同样可以进行丰富的定制化配置。

配置完成之后,Kurator 相应的控制器便会自动启动迁移任务。这一系列任务包括将资源从源集群上传到对象存储,以及最终迁移到指定的目标集群。具体的迁移过程可参考以下示意图:

cke_152.png

Kurator 统一迁移流程图

相较于使用 Velero,Kurator 提供了一个更为集成和清晰的迁移流程描述。所有必要的配置细节都集中在单一的 migrate 对象中,从而减少了随着目标集群数量增加而产生的配置负担。同时,Kurator自动管理从创建备份到完成迁移的全过程,简化了操作流程,降低了手动操作错误的风险。此外,用户还可以通过这一个对象来实时监控多个集群中的迁移进度,随时了解迁移的最新状态,确保整个流程按预期执行。

接下来是一个统一迁移的实际操作示例:

apiVersion: backup.kurator.dev/v1alpha1kind: Migratemetadata:...name: select-labelsnamespace: defaultspec:policy:resourceFilter:labelSelector:matchLabels:app: busyboxsourceCluster:clusters:- kind: AttachedClustername: kurator-member1fleet: quickstarttargetCluster:clusters:- kind: AttachedClustername: kurator-member2fleet: quickstartstatus:conditions:- lastTransitionTime: "2023-10-28T15:55:23Z"status: "True"type: sourceReadyphase: CompletedsourceClusterStatus:backupNameInCluster: kurator-member1-migrate-default-select-labelsbackupStatusInCluster:completionTimestamp: "2023-10-28T15:55:18Z"expiration: "2023-11-27T15:55:13Z"formatVersion: 1.1.0phase: Completedprogress: {}startTimestamp: "2023-10-28T15:55:13Z"version: 1clusterKind: AttachedClusterclusterName: kurator-member1targetClusterStatus:- clusterKind: AttachedClusterclusterName: kurator-member2restoreNameInCluster: kurator-member2-migrate-default-select-labelsrestoreStatusInCluster:completionTimestamp: "2023-10-28T15:56:00Z"phase: CompletedstartTimestamp: "2023-10-28T15:55:58Z"...

在 spec 配置中,源集群设置为 kurator-member1,目标集群为 kurator-member2,迁移过程仅针对包含标签 app:busybox 的资源。在 status 中,迁移阶段 Phase 显示为 Completed,表明迁移操作已完成。sourceClusterStatus 和 targetClusterStatus 分别提供源集群资源的备份细节和目标集群资源的恢复情况。

🔗 更多的细节,请参考: Unified Migration | Kurator

统一分布式存储

分布式存储作为现代云原生架构中不可或缺的一部分,提供了数据的可扩展性和可靠性。然而,在不同集群间实现一个一致的分布式存储解决方案,往往涉及到复杂的配置和管理工作。

Kurator 致力于简化分布式存储的部署与管理。基于领先的开源项目 Rook(Rook),Kurator 支持在多集群环境中轻松自动化管理分布式存储。这包括块存储、文件系统存储和对象存储等多种存储类型,以适应各种应用场景的需求。

利用 Fleet 插件,Kurator 提供了一种一键跨集群部署分布式存储的解决方案,既简化了配置步骤也显著降低了配置错误的可能性。架构如下图所示:

cke_153.png

Kurator统一分布式存储架构图

接下来是一个通过 Fleet 插件部署多集群分布式存储的例子:

apiVersion: fleet.kurator.dev/v1alpha1kind: Fleetmetadata:name: quickstartnamespace: defaultspec:clusters:- name: kurator-member1kind: AttachedCluster- name: kurator-member2kind: AttachedClusterplugin:distributedStorage:storage:dataDirHostPath: /var/lib/rookmonitor:count: 3labels:role: MonitorNodeLabelmanager:count: 2labels:role: ManagerNodeLabel

在 spec 中,clusters 指明了存储将部署在哪些集群上。在 status 中,plugin 配置下的 distributedStorage 标识此为一个分布式存储插件的安装。此外,dataDirHostPath 定义了存储的路径,而 monitor 和 manager 配置项则指定了 Ceph 组件的参数。

🔗 更多的示例和细节,请参考: Enable Policy Management with fleet | Kurator

参考链接

统一备份恢复迁移特性介绍: Unified Backup, Restore, and Migration | Kurator

Fleet备份插件安装: Install Backup Plugin | Kurator

统一备份操作指南: Unified Backup | Kurator

统一恢复操作指南: Unified Restore | Kurator

统一迁移操作指南: Unified Migration | Kurator

统一分布式存储操作指南: Enable Policy Management with fleet | Kurator

文章转载自:华为云开发者联盟

原文链接:https://www.cnblogs.com/huaweiyun/p/17818045.html

体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

这篇关于Kurator v0.5.0发布,打造统一的多集群备份与存储体验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/613016

相关文章

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

统一返回JsonResult踩坑的记录

《统一返回JsonResult踩坑的记录》:本文主要介绍统一返回JsonResult踩坑的记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录统一返回jsonResult踩坑定义了一个统一返回类在使用时,JsonResult没有get/set方法时响应总结统一返回

全屋WiFi 7无死角! 华硕 RP-BE58无线信号放大器体验测评

《全屋WiFi7无死角!华硕RP-BE58无线信号放大器体验测评》家里网络总是有很多死角没有网,我决定入手一台支持Mesh组网的WiFi7路由系统以彻底解决网络覆盖问题,最终选择了一款功能非常... 自2023年WiFi 7技术标准(IEEE 802.11be)正式落地以来,这项第七代无线网络技术就以超高速

Python使用Tkinter打造一个完整的桌面应用

《Python使用Tkinter打造一个完整的桌面应用》在Python生态中,Tkinter就像一把瑞士军刀,它没有花哨的特效,却能快速搭建出实用的图形界面,作为Python自带的标准库,无需安装即可... 目录一、界面搭建:像搭积木一样组合控件二、菜单系统:给应用装上“控制中枢”三、事件驱动:让界面“活”

基于Python+PyQt5打造一个跨平台Emoji表情管理神器

《基于Python+PyQt5打造一个跨平台Emoji表情管理神器》在当今数字化社交时代,Emoji已成为全球通用的视觉语言,本文主要为大家详细介绍了如何使用Python和PyQt5开发一个功能全面的... 目录概述功能特性1. 全量Emoji集合2. 智能搜索系统3. 高效交互设计4. 现代化UI展示效果

MySQL 存储引擎 MyISAM详解(最新推荐)

《MySQL存储引擎MyISAM详解(最新推荐)》使用MyISAM存储引擎的表占用空间很小,但是由于使用表级锁定,所以限制了读/写操作的性能,通常用于中小型的Web应用和数据仓库配置中的只读或主要... 目录mysql 5.5 之前默认的存储引擎️‍一、MyISAM 存储引擎的特性️‍二、MyISAM 的主

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

Mac备忘录怎么导出/备份和云同步? Mac备忘录使用技巧

《Mac备忘录怎么导出/备份和云同步?Mac备忘录使用技巧》备忘录作为iOS里简单而又不可或缺的一个系统应用,上手容易,可以满足我们日常生活中各种记录的需求,今天我们就来看看Mac备忘录的导出、... 「备忘录」是 MAC 上的一款常用应用,它可以帮助我们捕捉灵感、记录待办事项或保存重要信息。为了便于在不同

Python+PyQt5实现MySQL数据库备份神器

《Python+PyQt5实现MySQL数据库备份神器》在数据库管理工作中,定期备份是确保数据安全的重要措施,本文将介绍如何使用Python+PyQt5开发一个高颜值,多功能的MySQL数据库备份工具... 目录概述功能特性核心功能矩阵特色功能界面展示主界面设计动态效果演示使用教程环境准备操作流程代码深度解