• [技术干货] Kurator V0.6.0:实现应用全流程生命周期管理
    Kurator 是华为云开源的面向分布式云原生环境的一站式解决方案。它利用 Karmada 作为多集群编排基础,内置集成了Istio、Prometheus、Thanos、Volcano、KubeEdge、Argo 等主流云原生技术。基于此,Kurator 构建了包括集群舰队管理、集群生命周期管理、统一应用分发、流量治理、监控和策略管理在内的分布式云平台管理能力。在最新 0.6.0 版本中,Kurator 为云原生应用增加了 CI/CD 流水线设置与管理功能,简化流水线创建。此外,强化了 0.4.0 版本发布的统一应用分发功能,可以在部署新应用时设置金丝雀(灰度)发布、A/B 测试、蓝绿发布三种渐进式发布策略。新增的流水线特性和渐进式发布功能与统一分发能力结合,实现基于代码仓库的 GitOps 工作流。这有助于快速构建分布式云原生平台,简化应用开发与发布流程。Kurator CI/CD 的结构图如下所示:用户更新代码仓库后,触发 Kurator 流水线,完成代码拉取、检查、编译并构建镜像。其后,用户更新应用部署模板,例如更改应用配置中的镜像信息。Kurator Application Controller 侦测到配置更新,将自动触发已应用的渐进式发布策略,实现应用的自动发布。如此一来,整个软件研发生命周期以代码为中心,实现开发至发布完整流程的自动化,简化运维、部署工作。  流水线  CI/CD 流水线实现源码到发布的自动化过程,包括源码管理、检查、测试等阶段。但由于每个阶段技术需求不同,导致流水线配置和管理难度大。Kurator 参考开源项目 Tekton,通过预定义常用任务模版的方式简化流水线创建操作。用户只需指定任务名称和代码仓库访问凭证即可创建流水线,使用门槛低。对熟悉流水线的高级用户,Kurator 也支持自定义任务。用户可以根据自己需求定制任务内容,满足个性化场景。通过预置任务模板和自定义任务的能力,Kurator 大幅简化了流水线配置和管理的难度。从图中可以看出,在使用流水线时,Kurator 完成了大部分工作。用户只需配置运行环境,选择任务模板即可完成流水线创建,大大减少学习成本。特别是与传统Tekton 相比,Kurator 提供了预定义任务模板,用户只关注任务内容而不再处理具体实现,实现了流水线使用的极致简化。除了简化流水线的创建操作外,Kurator 还考虑到了软件供应链安全,可以在流水线构建镜像时自动为其添加数字签名和源头证明,以防范假冒镜像,保证镜像源头可靠,保证在镜像制作方面的安全性。软件供应链安全指的是保护软件从开发到部署的整个生命周期过程中的安全性。软件供应链安全可以提高软件安全性能和用户信任度,预防恶意代码渗透。签名和证明添加后,镜像将自动上传至仓库。在镜像仓库中可以直接查看镜像签名和证明的详细情况,如图所示。用户可以用签名过程生成的公钥验证镜像签名和源头。这样在生产中,生产者仅需公布签名公钥,就能让用户验证数字签名和来源证明。接下来将展示一个在 Kurator 中创建一个流水线的示例:在流水线定义 spec.tasks 中指定任务名称,即可选择 Kurator 内置的常用任务模板。目前内置的常用任务模板包括:名称任务目标git-clone拉取源码go-test运行go代码单元测试go-lintgo源码静态检查build-and-push-image编译,构建镜像并上传此外,通过 customTask 定义可以发布自定义任务。通过指定 image、command 和 args,实现定制任务需求,如上述示例中自定义任务完成的工作就是打印README.md。更多的示例和细节,请参考: https://kurator.dev/docs/pipeline/  渐进式发布  金丝雀发布、A/B 测试和蓝绿发布都是主流的应用发布策略,可有效减少上线风险。Kurator 0.6.0 在原统一应用分发基础上,增加渐进式发布功能。现在应用可以指定三种渐进式发布策略中的一种策略。同时,可以将具备发布能力的统一分发,与 CI/CD 流水线结合起来,实现基于代码仓库的 GitOps 工作流。▍金丝雀发布金丝雀部署是一种渐进式发布策略。先向少数用户发布新的软件版本进行测试,根据测试结果,决定是否向更多用户推出新版本。旨在最大限度地减少新版本上线后对用户的影响,是一种更安全、更可靠的软件发布策略。参阅以下的操作示例,了解如何使用 Kurator 配置金丝雀发布。通过配置 rollout 中的 workload 字段,可以将金丝雀发布的目标设置为 webapp 命名空间下名为 backend 的应用。发布目标除了支持 deployment 应用之外,还支持 daemonSet应用。流量分析使用 Kurator 内置的请求成功率(request-sueccess-rate)和平均访问时延(request-duration)两个指标作为衡量新版本是否健康的标准。其中通过 thresholdRange 指定阈值。示例中要求请求成功率大99%,平均访问时延小于 500ms,新版本的服务才会被认定为健康。rolloutPolicy.canaryStrategy 配置了每次测试成功后,下次流量递增的比例和最终允许测试版本流量占比的最大值,从而实现渐进式发布新版本。示例中每次递增 10% 的流量流向新版本,最多为 50%。也可以设置 maxWeight 为 55,这样在最后一次测试的时候,只会新增 5% 的流量流向新版本。除了这些配置之外,Kurator 还可以设定完成验证之后,流量以什么样的比例逐步流向新版本。更多细节请参考: https://kurator.dev/docs/fleet-manager/rollout/canary/▍A/B测试A/B 测试为效果测试,是验证应用两版本表现的测试方法。它通过将用户分到不同组,每个组体验不同版本,然后分析每个组用户在使用过程中的各项指标,选择效果较好的版本。A/B 测试也可以先让部分用户试用新版本,收集真实环境下的用户反馈,再决定是否上线新版本。了解如何在 Kurator 配置应用的 A/B 测试,请参考下方操作示例。和金丝雀发布类似,由 workload 指定 A/B 测试的目标。通过 metric 指定测试的指标。A/B 测试和金丝雀发布不同的点在于需要配置 match 中的匹配规则,实现流量分组。上述 match 配置是只有 http 请求头满足使用 FireFox 浏览器或请求的 cookie 中包含 “type=insider” 的情况下,请求才会被转发到新版本。通过对不同请求头的处理达到对用户分组的效果,对不同的版本进行效果测试。除了匹配请求头之外,还能匹配 URI、端口号等。更多细节请参考: https://kurator.dev/docs/fleet-manager/rollout/abtest/▍蓝绿发布蓝绿发布是一种渐进零停机发布方法。它将生产环境分为两个独立运行的蓝绿环境,蓝环境承载当前实际流量,绿环境预部署新版本。新版本通过测试后,只需切换流量到绿环境,就能实现零停机升级。蓝环境备用支持回滚。通过实时扩容,可近乎零停机完成迭代交付,提高发布效率和用户体验。了解如何在 Kurator 配置蓝绿发布的操作示例,请参考下方。蓝绿发布需要配置目标应用、测试指标、迭代次数和容许测试失败的次数,其中测试的迭代次数由 analysisTimes 指定,容许测试失败的次数由 checkFailedTimes指定,除此之外无需配置别的规则。因为蓝绿发布在测试新版本的时候是将全局流量转发到绿环境中进行测试,没有金丝雀发布的渐进式流量递增和 A/B 测试的对用户分组的需求。更多细节请参: https://kurator.dev/docs/fleet-manager/rollout/blue-green/  未来展望  综上所述,通过 CI/CD 流水线和渐进式发布功能,Kurator 实现了从源码到发布的完整流水线自动化,真正提升了开发效率和运维能力,实现开发、配置和发布的应用全流程生命周期管理。此外还大幅简化了采用 CI/CD 流水线和渐进式发布的门槛。随着 Kurator 的不断迭代升级,我们还将继续为流水线添加更多的预定义任务模板,为渐进式发布提供更多的测试指标。欢迎大家试用 Kurator 并提出宝贵的意见与需求。Kurator的门户为:cid:link_0随着功能的逐渐完善,Kurator 将成为用户快速立体掌握云原生技术体系、高效运行分布式应用的强大工具。参考链接Kurator项目地址:cid:link_0CI/CD流水线:https://kurator.dev/docs/pipeline/软件供应链安全:https://kurator.dev/docs/pipeline/chain-security/渐进式发布:https://kurator.dev/docs/fleet-manager/rollout/金丝雀发布:https://kurator.dev/docs/fleet-manager/rollout/canary/A/B测试:https://kurator.dev/docs/fleet-manager/rollout/abtest/蓝绿发布:https://kurator.dev/docs/fleet-manager/rollout/blue-green/更多云原生技术动向关注容器魔方添加小助手k8s2222进入技术群
  • [大咖交流] 华为云@OADC 2023,共建云原生未来生态
    12月16日-17日,以“一切为了开发者”为主题的开放原子开发者大会在江苏无锡举办。秉持“共建、共治、共享”原则,聚焦大模型、云原生、前端、自动驾驶、物联网、开源治理与开发者运营等多领域内容,大会汇聚百万开发者生态,集聚政、产、学、研、用、金、创、投等各方力量,云集全球技术专家和行业大咖,持续推动软件生态蓬勃发展。华为云重磅参会开幕式、云原生分论坛、展区等多个环节,共同推进开源与云原生产业发展。▍开放原子云社区正式成立开幕式上,开放原子开源基金会理事长孙文龙与北京航空航天大学、华为技术有限公司、阿里巴巴集团控股有限公司、深圳市腾讯计算机系统有限公司、招商银行股份有限公司、京东科技信息技术有限公司代表共同启动成立开放原子云社区。▲开放原子云社区成立仪式北京航空航天大学的胡春明教授当选担任开放原子云社区主席,华为技术有限公司王泽锋,阿里巴巴集团控股有限公司丁宇,深圳市腾讯计算机系统有限公司邹辉,招商银行股份有限公司罗文江分别当选开放原子云社区副主席。开放原子云社区的成立,将通过凝聚云原生产学研用各方力量,共同推动我国云产业高质量发展。未来,该社区将围绕云原生技术路线图及生态全景规划、发掘孵化优质项目形成完整技术栈、培育壮大国内云原生开源生态、积极开展人才培养和国际合作等方面,推动云计算行业迈入“云上价值挖掘”的新阶段,重塑云计算产业价值链。▍AtomHub可信镜像中心正式公测由开放原子开源基金会牵头,开放原子云社区多家成员单位共同建设的AtomHub可信镜像中心在本次大会上正式开放公测。▲ AtomHub可信镜像中心正式公测AtomHub可信镜像中心由开放原子开源基金会牵头,华为、浪潮、DaoCloud、谐云、青云、飓风引擎以及OpenSDV开源联盟、openEuler社区、OpenCloudOS社区等成员单位共同发起,秉承共建、共治、共享的理念,旨在为开源组织和开发者提供中立、开放共建的可信开源容器镜像中心。▲ AtomHub可信镜像中心首批共建单位&社区▍云原生技术前沿落地实践论坛大会的“云原生技术前沿落地实践论坛”由CNCF基金会大使、技术监督委员会贡献者及多个项目创始人王泽锋担任出品,复旦大学计算机科学技术学院副院长、教授、博士生导师彭鑫,网易资深云原生专家侯诗军,腾讯云容器技术专家孟凡杰,蚂蚁集团高级研发工程师王思远,蚂蚁集团算法专家徐剑,华为云云原生团队开源技术专家徐中虎,开源项目 Serverless Devs 联合发起人、项目负责人袁坤,通明智云产品总监单雷,DaoCloud大容器团队技术负责人张潇,DaoCloud大容器团队开发工程师涂立海分别带来议题分享。云原生论坛议题聚焦云原生架构的创新与演进、云原生中间件的稳定性与可靠性、云原生的智能化运维与告警、云原生的FinOps实践、云原生Serverless架构与研发体验等多领域,为参会者提供全面视角和实践分享。▲云原生技术前沿落地实践论坛嘉宾合影在《融入未来:分布式云原生架构演进》的主题演讲中,华为云云原生团队核心成员、开源技术专家徐中虎分享了分布式云原生的发展历史与挑战,分布式云原生架构的演进,华为云Kurator项目在分布式云原生领域的创新。Kurator源于华为云在分布式云原生架构演进过程中多年探索,借助Kurator快速构建分布式云原生平台,可以帮助用户快速构建、部署、监控分布式云原生应用。▲华为云云原生团队核心成员、开源技术专家徐中虎▍Kurator分布式云原生开源社区展区Kurator是一款打造统一分布式云原生基础设施的开源套件。项目整合Karmada、KubeEdge、Volcano、Kubernetes、Istio、Promethus等业界主流开源技术栈,提供多云、多集群统一编排,统一调度,统一流量治理,边云协同,统一监控运维等核心能力,助力企业业务跨云跨边,分布式化升级。社区地址:cid:link_0▲Kurator分布式云原生开源社区随着云原生产业的不断发展,如何从战略全局去规划软件产业高质量发展,充分发挥开源生产方式的作用,是加快推进新型工业化发展的一大命题。社会各界都在整个过程中发挥着环环相扣的力量,而各行各业的开发者和使用者是数字时代创造知识、沉淀知识的主力军,开发者活力是软件产业繁荣发展最直接、最生动的体现。大会倡议,深化交流互鉴,聚焦产业亟需,增添发展动力,加强国际合作,做好服务保障。希望社会各界关注开源、拥抱开源、支持开源,深刻认识开源价值,为开发者提供服务,特别是在资产评估、价值认定、集成创新方面予以重点支持。也希望广大开发者和使用者能积极贡献智慧与力量,以时代责任应对共同挑战,以实干担当开创美好未来。更多云原生技术动向关注容器魔方添加小助手k8s2222进入技术群
  • [技术干货] 华为云 Kurator v0.3.0 版本发布!集群舰队助力分布式云统一管理
    2023年4月8日,Kurator正式发布v0.3.0版本。Kurator 是华为云推出的分布式云原生开源套件,通过集成业界主流开源技术栈,帮助用户一站式构建专属的分布式云原生基础设施,助力企业业务跨云跨边、分布式化升级。Kurator v0.2 版本已具备管理多云基础设施和异构基础设施的核心能力,通过引入Cluster Operator组件,支持“AWS自建集群”和“本地数据中心集群”包括集群创建、清理等在内的生命周期管理特性。在最新发布的v0.3.0版本中,Cluster Operator不仅分别对两类集群的生命周期管理能力进行了增强,也将v0.2.0版本中的多个API对象抽象成一个API对象cluster,方便用户使用。 同时,在 cluster 对象基础上,Kurator引入了舰队的概念。每个舰队代表一个物理集群组,方便Kurator未来进行统一的编排、调度,统一的流量治理以及统一的监控运维。目前,Kurator的舰队管理支持多个特性,包括舰队控制平面的生命周期管理,以及集群注册和注销到舰队等。至此,Kurator 通过集群舰队统一了集群视图。这意味着,Kurator开始具备了支持用户体验一致地管理分布在任何云上的集群的能力,从而进一步协助用户的分布式云原生架构的升级。Kurator v0.3.0关键特性介绍集群生命周期管理能力增强Kurator 通过 Cluster Operator组件对集群的生命周期进行管理。基于Cluster API,Cluster Operator 不仅可以管理集群生命周期,还统一并简化了创建集群所需的配置,为用户在不同云平台上管理集群提供了简单易用的API。目前Cluster Operator 支持“本地数据中心集群”和“AWS自建集群”。本地数据中心集群Kurator基于kubespray对本地数据中心集群的生命周期进行管理。与 kubespray不同的地方在于,Kurator采用了更易于理解和配置的云原生声明式的方法管理集群。相比较v0.2.0版本,v0.3.0版本的Kurator 带来了以下几个方面的增强特性:• 批量的工作节点扩缩容。 现在Kurator支持以声明式的方式,在原有集群上增加、删除或者替换多个工作节点。 用户只需要声明集群所需要的最终工作节点状态,Kurator即可在没有任何外部干预的情况下完成节点的批量扩缩容。• 集群版本升级。 用户可以在API对象上声明要升级到的Kubernetes版本,Kurator便会自动对目标集群的各节点进行升级。• 增强集群控制面高可用。Kurator为用户提供了一种基于VIP的增强集群控制面高可用的方案。在这种方案下,Kurator利用kube-vip的能力,使用VIP实现跨多个控制平面副本的入站流量负载均衡。图片来源:https://inductor.medium.com/say-good-bye-to-haproxy-and-keepalived-with-kube-vip-on-your-ha-k8s-control-plane-bb7237eca9fc用户手册:https://kurator.dev/docs/cluster-operator/vms-cluster-lifecycle/AWS自建集群Kurator 通过Cluster Operator对AWS自建集群进行生命周期管理管理。相较于Cluster API 对AWS 自建集群的支持, Kurator简化了Cluster API提供的部署模型,通过部署Kurator集群操作器组件即可获得全部的管理能力。v0.3.0在以下几个方面带来了特性增强:• 易用性提升。kurator新增了一系列提升用户体验的改进, 包括了在创建集群之前验证凭据是否有效,自动管理云平台运营商所需的IAM角色和策略,校验依赖资源是否存在以及集中展示错误信息等。一键关联IAM与K8s身份。通过将AWS IAM角色与Kubernetes Pod身份关联,可以让IAM验证和接受Kubernetes颁发的令牌,而不需要创建和分发AWS凭据。这种关联具有最小特权、凭证隔离和审计性等优点,但是需要通过多个步骤设置。Kurator现在可以通过Cluster.Spec.PodIdentityg一键启用该功能,简化配置。apiVersion: cluster.kurator.dev/v1alpha1 kind: Cluster metadata: name: pod-identity namespace: default spec: ... podIdentity: enabled: true用户手册:https://kurator.dev/docs/cluster-operator/kurator-cluster-api/https://kurator.dev/docs/cluster-operator/aws-irsa/云原生舰队管理Kurator引入了代表物理集群组的逻辑单元“舰队”,旨在一致地管理一组集群,舰队允许您轻松、一致地管理分布在任何云中的集群。Kurator通过Fleet Manager实现了对舰队控制平面生命周期管理,并且可以轻松的将集群添加到或从舰队中删除。 未来,Kurator将支持Fleet级的应用编排,并且在Fleet的所有集群中提供统一的命名空间、ServiceAccount、Service,以支持在多个集群之间实现服务发现和通信。此外,Kurator将汇总来自所有集群的监控指标。Kurator Fleet Manager作为一个Kubernetes Operator运行,负责Fleet控制平面生命周期管理,也负责集群的注册和注销。用户手册:https://kurator.dev/docs/fleet-manager/Kurator,一键构建分布式云原生平台访问Kurator Release(cid:link_0),体验、升级最新版Kurator v.0.3.0,构建您的专属分布式云原生平台。如您对Kurator新版本特性有更多兴趣或见解,也欢迎来到Kurator社区,参与社区讨论与开发。GitHub地址:cid:link_1Slack地址:https://join.slack.com/t/kurator-hq/shared_invite/zt-1sowqzfnl-Vu1AhxgAjSr1XnaFoogq0A
  • [技术干货] Kurator v0.5.0: 打造统一的多集群备份与存储体验
    Kurator 是由华为云推出的开源分布式云原生套件。面向分布式云原生场景,Kurator 旨在为用户提供一站式的解决方案,帮助用户快速构建自己的分布式云原生平台。在最新发布的 v0.5.0 版本中,Kurator 强化了其在多集群环境中的应用备份与恢复,以及存储管理的功能,以满足用户对于复杂部署的需求。本次更新主要包括以下两项新特性:统一集群备份恢复与迁移:Kurator 现在支持一键定制化的备份与恢复多个集群中的应用和资源,并通过统一视图实时监控各集群的进度;同时,还支持跨集群资源的一键迁移功能。统一分布式存储:Kurator 实现了一致性的分布式存储解决方案,其一站式部署让用户在多集群环境下轻松实现块存储、文件存储和对象存储的应用。 统一集群备份恢复与迁移在多云和分布式环境的持续演变中,数据的安全性与可恢复性已经成为用户高度关注的问题。对于企业来说,数据丢失往往是一个难以承受的打击,可能导致严重的业务中断和信誉损失。在以 Kubernetes 为行业标准的环境中,伴随着服务数量和集群规模的增长,数据管理的复杂度也随之增加,这使得实施高效而灵活的备份策略变得尤为重要。面对这种需求的不断扩大和挑战的增加,传统的备份工具往往在多环境下展现出局限性,难以提供一个无缝的统一解决方案。因此,Kurator 的统一备份方案应运而生,旨在提供这一领域的备份解决方案。基于 Velero (https://velero.io/) ,Kurator 为用户提供了一键式的操作体验,可以自定义备份并恢复横跨多个集群的应用与资源。通过 Kurator 提供的统一视图功能,用户能够实时监控各个集群备份的状态和进度。其覆盖范围涵盖了从 Pod、Deployment、Service 等 Kubernetes 原生资源,到 PersistentVolumes(PVs)等持久化存储的备份和恢复,以满足现代企业多元化的数据保护需求。统一备份Kurator 在备份解决方案上提供了多样化的选择,以适应不同场景下的数据保护需求。其灵活性确保了不同业务场景下都能找到合适的备份策略。即时备份: 面对数据频繁变动的情形,“即时备份”能够迅速地提供保护,确保关键数据在关键时间点的完整性得以保持。定期备份:对于那些不太频繁变动,但同样需要确保持久性的数据,“定期备份”可以根据预设的时间周期性的自动执行备份,以满足合规性要求和保障数据安全。此外,Kurator 还提供了一系列高度定制化的备份选项。例如,“特定集群备份”允许运维团队基于策略或特定需求有选择性地备份特定集群。“资源过滤”功能则提供了细粒度的控制,使管理员能够根据资源的名称、命名空间或标签等属性来精确定义备份的范围。这些备份策略的多样性和自动化能力为用户在不断变化的业务需求中,提供了稳定和可靠的数据保护。接下来是一个统一备份的实际操作示例:apiVersion: backup.kurator.dev/v1alpha1 kind: Backup metadata:   ...   name: select-labels   namespace: default spec:   destination:     fleet: quickstart   policy:     resourceFilter:       labelSelector:         matchLabels:           app: busybox     ttl: 720h status:   backupDetails:   - backupNameInCluster: kurator-member1-backup-default-select-labels     backupStatusInCluster:       completionTimestamp: "2023-10-28T03:37:13Z"       expiration: "2023-11-27T03:37:07Z"       formatVersion: 1.1.0       phase: Completed       progress:         itemsBackedUp: 1         totalItems: 1       startTimestamp: "2023-10-28T03:37:07Z"       version: 1     clusterKind: AttachedCluster     clusterName: kurator-member1   - backupNameInCluster: kurator-member2-backup-default-select-labels     backupStatusInCluster:       completionTimestamp: "2023-10-28T03:37:13Z"       expiration: "2023-11-27T03:37:07Z"       formatVersion: 1.1.0       phase: Completed       progress: {}       startTimestamp: "2023-10-28T03:37:07Z"       version: 1     clusterKind: AttachedCluster     clusterName: kurator-member2   ...观察 spec 配置,可以看到备份的目标是位于 Fleet 中各集群内所有标有 app:busybox 标签的资源。通过在 spec 中配置策略的方式,可以确保相关的资源得到备份。在 status 中,可以实时追踪到备份任务在每个集群,如 kurator-member1 和 kurator-member2,的执行状况,保持了操作的透明度。🔗 更多的示例和细节,请参考: cid:link_5统一恢复基于统一备份产生的备份数据,Kurator 通过统一恢复功能支持跨集群的应用和资源恢复。针对即时备份恢复:依据“即时备份”创建的备份数据,可以快速恢复至指定关键时刻的状态。针对定期备份恢复: 针对“定期备份”,Kurator 支持将备份数据恢复到最近一次成功执行备份的时间点。类似备份功能,Kurator 在恢复方面也提供了多样化和定制化的选项。例如,“特定集群恢复”使得用户能够只将数据恢复到指定集群,而不必覆盖所有备份中包含的集群。“资源过滤”功能则允许用户对备份数据进行进一步筛选,只选择性地恢复需要的数据项。用户可以根据备份名称、命名空间或标签等属性来定义恢复的范围,这不仅提升了恢复过程的灵活性,也确保了高度的精确性。参阅以下操作示例,了解如何使用 Kurator 进行统一恢复:apiVersion: backup.kurator.dev/v1alpha1 kind: Restore metadata:   ...   name: minimal   namespace: default spec:   backupName: select-labels status:   restoreDetails:   - clusterKind: AttachedCluster     clusterName: kurator-member1     restoreNameInCluster: kurator-member1-restore-default-minimal     restoreStatusInCluster:       completionTimestamp: "2023-10-28T09:24:07Z"       phase: Completed       progress:         itemsRestored: 2         totalItems: 2       startTimestamp: "2023-10-28T09:24:05Z"   - clusterKind: AttachedCluster     clusterName: kurator-member2     restoreNameInCluster: kurator-member2-restore-default-minimal     restoreStatusInCluster:       completionTimestamp: "2023-10-28T09:24:07Z"       phase: Completed       progress:         itemsRestored: 2         totalItems: 2       startTimestamp: "2023-10-28T09:24:05Z"   ...通过检查恢复任务的 spec 配置,我们可以确定本次恢复操作是针对前文提到的、标记为 select-labels 的备份数据。这里使用了最低配置,不进行恢复的筛选,直接根据备份的配置进行恢复。在 status 中,同样可以实时追踪到恢复任务在每个集群的执行状况。🔗 更多的示例和细节,请参考: cid:link_3统一迁移统一迁移旨在简化将应用程序及其资源从一个集群迁移到其他多个集群的过程。用户需要定义一种 migrate 类型的资源配置,并指定源集群、目标集群及相关策略。此外,类似于 Kurator 的统一备份和恢复功能,用户同样可以进行丰富的定制化配置。配置完成之后,Kurator 相应的控制器便会自动启动迁移任务。这一系列任务包括将资源从源集群上传到对象存储,以及最终迁移到指定的目标集群。具体的迁移过程可参考以下示意图:Kurator 统一迁移流程图相较于使用 Velero,Kurator 提供了一个更为集成和清晰的迁移流程描述。所有必要的配置细节都集中在单一的 migrate 对象中,从而减少了随着目标集群数量增加而产生的配置负担。同时,Kurator自动管理从创建备份到完成迁移的全过程,简化了操作流程,降低了手动操作错误的风险。此外,用户还可以通过这一个对象来实时监控多个集群中的迁移进度,随时了解迁移的最新状态,确保整个流程按预期执行。接下来是一个统一迁移的实际操作示例:apiVersion: backup.kurator.dev/v1alpha1 kind: Migrate metadata:   ...   name: select-labels   namespace: default spec:   policy:     resourceFilter:       labelSelector:         matchLabels:           app: busybox   sourceCluster:     clusters:     - kind: AttachedCluster       name: kurator-member1     fleet: quickstart   targetCluster:     clusters:     - kind: AttachedCluster       name: kurator-member2     fleet: quickstart status:   conditions:   - lastTransitionTime: "2023-10-28T15:55:23Z"     status: "True"     type: sourceReady   phase: Completed   sourceClusterStatus:     backupNameInCluster: kurator-member1-migrate-default-select-labels     backupStatusInCluster:       completionTimestamp: "2023-10-28T15:55:18Z"       expiration: "2023-11-27T15:55:13Z"       formatVersion: 1.1.0       phase: Completed       progress: {}       startTimestamp: "2023-10-28T15:55:13Z"       version: 1     clusterKind: AttachedCluster     clusterName: kurator-member1   targetClusterStatus:   - clusterKind: AttachedCluster     clusterName: kurator-member2     restoreNameInCluster: kurator-member2-migrate-default-select-labels     restoreStatusInCluster:       completionTimestamp: "2023-10-28T15:56:00Z"       phase: Completed       startTimestamp: "2023-10-28T15:55:58Z"   ...在 spec 配置中,源集群设置为 kurator-member1,目标集群为 kurator-member2,迁移过程仅针对包含标签 app:busybox 的资源。在 status 中,迁移阶段 Phase 显示为 Completed,表明迁移操作已完成。sourceClusterStatus 和 targetClusterStatus 分别提供源集群资源的备份细节和目标集群资源的恢复情况。🔗 更多的细节,请参考: cid:link_4统一分布式存储分布式存储作为现代云原生架构中不可或缺的一部分,提供了数据的可扩展性和可靠性。然而,在不同集群间实现一个一致的分布式存储解决方案,往往涉及到复杂的配置和管理工作。Kurator 致力于简化分布式存储的部署与管理。基于领先的开源项目 Rook(cid:link_9),Kurator 支持在多集群环境中轻松自动化管理分布式存储。这包括块存储、文件系统存储和对象存储等多种存储类型,以适应各种应用场景的需求。利用 Fleet 插件,Kurator 提供了一种一键跨集群部署分布式存储的解决方案,既简化了配置步骤也显著降低了配置错误的可能性。架构如下图所示:Kurator统一分布式存储架构图接下来是一个通过 Fleet 插件部署多集群分布式存储的例子:apiVersion: fleet.kurator.dev/v1alpha1 kind: Fleet metadata:   name: quickstart   namespace: default spec:   clusters:     - name: kurator-member1       kind: AttachedCluster     - name: kurator-member2       kind: AttachedCluster   plugin:     distributedStorage:       storage:         dataDirHostPath: /var/lib/rook         monitor:           count: 3           labels:             role: MonitorNodeLabel         manager:           count: 2           labels:             role: ManagerNodeLabel在 spec 中,clusters 指明了存储将部署在哪些集群上。在 status 中,plugin 配置下的 distributedStorage 标识此为一个分布式存储插件的安装。此外,dataDirHostPath 定义了存储的路径,而 monitor 和 manager 配置项则指定了 Ceph 组件的参数。🔗 更多的示例和细节,请参考: cid:link_1参考链接统一备份恢复迁移特性介绍: cid:link_6Fleet备份插件安装: cid:link_2统一备份操作指南: cid:link_5统一恢复操作指南: cid:link_3统一迁移操作指南: cid:link_4统一分布式存储操作指南: cid:link_1附:Kurator社区交流地址GitHub地址:cid:link_7Kurator主页:cid:link_8Slack地址: cid:link_0添加社区小助手k8s2222回复Kurator进入技术交流群
  • [热门活动] 【云原生专题直播有奖提问】DTSE Tech Talk 技术直播 NO.40:看直播提问题赢华为云定制保温杯、华为云定制T恤等好礼!
    中奖结果公示感谢各位小伙伴参与本次活动,本次活动获奖名单如下:请各位获奖的伙伴在8月21日之前点击此处填写收货地址,如逾期未填写视为弃奖。再次感谢各位小伙伴参与本次活动,欢迎关注华为云DTSE Tech Talk 技术直播更多活动~直播简介【直播主题】分布式云原生趋势下,如何借助Kurator加速数智化转型【直播时间】2023年8月16日 16:30-18:00【直播专家】解强龙 华为云云原生DTSE技术布道师、华为云云原生团队研发工程师【直播简介】为何全球顶级企业都在布局分布式云?非巨头企业又该如何入场分布式云? 本期直播将聚焦华为云开源的分布式云原生平台 Kurator,以帮助开发者构建属于自己的分布式云原生基础设施,助力企业数智化转型。直播不仅有Kurator设计理念、功能特性和架构的详细介绍,还会带来分布式云典型场景的现场实践。直播链接:cid:link_2活动介绍【互动方式】直播前您可以在本帖留下您疑惑的问题,专家会在直播时为您解答。直播后您可以继续在本帖留言,与专家互动交流。我们会在全部活动结束后对参与互动的用户进行评选。【活动时间】即日起—2023年8月17日【奖励说明】评奖规则:活动1:直播期间在直播间提出与直播内容相关的问题,对专家评选为优质问题的开发者进行奖励。奖品:华为云定制保温杯活动2:在本帖提出与直播内容相关的问题,由专家在所有互动贴中选出最优问题贴的开发者进行奖励。奖品:华为云定制T恤更多直播活动直播互动有礼:官网直播间发口令“华为云 DTSE”华为云定制棒球帽、填写问卷抽华为云定制无线鼠标等好礼。分享问卷有礼 :邀请5位朋友以上完成问卷即可获得华为云定制帆布袋。戳我填问卷》》老观众专属福利:连续报名并观看DTT直播3期以上抽送华为云DTT定制T恤。【注意事项】1、所有参与活动的问题,如发现为复用他人内容,则取消获奖资格。2、为保证您顺利领取活动奖品,请您在活动公示奖项后2个工作日内私信提前填写奖品收货信息,如您没有填写,视为自动放弃奖励。3、活动奖项公示时间截止2023年8月11日,如未反馈邮寄信息视为弃奖。本次活动奖品将于奖项公示后30个工作日内统一发出,请您耐心等待。4、活动期间同类子活动每个ID(同一姓名/电话/收货地址)只能获奖一次,若重复则中奖资格顺延至下一位合格开发者,仅一次顺延。5、如活动奖品出现没有库存的情况,华为云工作人员将会替换等价值的奖品,获奖者不同意此规则视为放弃奖品。6、其他事宜请参考【华为云社区常规活动规则】。