解读Karmada多云容器编排技术,加速分布式云原生应用升级

news/2025/1/11 20:56:02/文章来源:https://www.cnblogs.com/huaweiyun/p/18545583

本文分享自来源:《华为云DTSE》第五期开源专刊,作者:任洪彩 华为云高级软件工程师,Karmada社区Maintainer。

 

管理和协调跨多个云平台的容器化应用是当前企业面临的复杂性挑战之一,Karmada多云容器编排技术使得用户能够像操作单一集群一样轻松管理多集群,简化了多云环境的运维复杂度,加速分布式云原生应用升级。

行业背景

随着云计算技术的飞速发展,企业对于云基础设施的需求日益多样化,多云策略成为了众多企业的首选。多云环境不仅能够提高业务的灵活性和可用性,还能有效降低对单一云服务商的依赖风险。根据最新的调查报告显示,超过87%的企业正在使用多个云厂商的服务,然而,随之而来的是管理和协调跨多个云平台的容器化应用的复杂性挑战。

业界流行的容器编排工具Kubernetes(简称K8s),虽然在单一集群内展现了强大的资源管理和自动化部署能力,但在面对多云场景时,其跨集群的资源调度、统一管理以及数据一致性等问题成为了亟待解决的痛点。

现阶段,云原生多云多集群业务的编排面临着诸多挑战:

  1. 集群繁多的重复劳动:运维工程师需要应对繁琐的集群配置、不同云厂商集群间的管理差异以及碎片化的API访问入口等问题。

  2. 业务过度分散的维护难题:应用在各集群的差异化配置繁琐;业务跨云访问以及集群间的应用同步难以管理。

  3. 集群的边界限制:应用的可用性受限于集群;资源调度、弹性伸缩受限于集群。

  4. 厂商绑定:业务部署的黏性问题,缺少自动化故障迁移;缺少中立的开源多云容器编排项目。

Karmada多云容器编排引擎,简化多云环境管理复杂度

为了解决上述挑战,华为于2021年正式推出了开源项目Karmada,旨在打造一个云原生的多云容器编排平台。Karmada(Kubernetes Armada,舰队之意)继承并超越了社区Federation v1和v2(kubefed)的设计理念,它不是简单地在不同集群间复制资源,而是通过一套全新的API和控制面组件,实现了在保持Kubernetes原有资源定义API不变的前提下,无缝地在多云环境中部署和管理分布式工作负载。

Karmada提供了一个全局的控制面板,使得用户能够像操作单一集群一样管理多云上的Kubernetes集群,简化了多云环境的运维复杂度,引入了高级的跨集群调度策略,根据资源需求、成本、合规性等因素,自动将工作负载优化部署到最适合的云平台或区域。通过分布式数据管理和同步机制,确保多云间的数据和配置一致性,降低了数据管理的复杂度。

实践案例:Karmada在工业智能检测领域的应用

工业智能检测领域亟需标准化智能检测提升效率

在液晶面板生产领域,由于多种因素,产品常出现不良品。为此,关键工艺节点后引入了自动光学检测(AOI)设备,通过光学原理检测常见缺陷。然而,现有 AOI 设备仅识别缺陷有无,需要人工分类和识别缺陷,这一过程耗时且影响生产效率。数之联的客户企业,某面板龙头企业,引入自动缺陷分类系统(ADC)以提高判定准确性并减轻劳动强度,使用深度学习技术自动分类 AOI 输出的缺陷图片,并筛除误判,从而提高生产效率。

 

客户企业率先在一个工厂引入 ADC,后续在其他工厂推广,节省人力资源,提高判定效率。尽管如此,由于工艺复杂和供应商差异,现场建设呈现出割裂和分散管理的趋势,给数据共享和运维带来困难。为解决这些问题,客户企业启动了工业智能检测平台的建设,该平台利用人工智能技术,实现标准化智能检测并提高生产效率和良率。

工业智能检测平台

工业智能检测平台将 ADC 作为核心,扩展至模型训练和检测复判,实现“云”(管理+训练)+“边”(推理)+“端”(业务)的一体化方案,旨在通过标准化平台提高生产质量和数据价值。建设范围包括资源共享中心、现地训练和边侧推理等子平台,将在若干工厂实施。

工业智能检测平台架构图

项目目标是实现现地 ADC 上线、资源共享和云边端标准化,以减轻运维负荷、提升标准。工业智能检测平台旨在通过规范化和标准化客户企业全集团的 ADC 系统,为后续 ADC 建设提供样本和模板,降低成本和周期,提高生产和质检效率以及产品良率。平台包含系统管理员、资源配置员等用户角色,并涉及 ADC 推理、模型训练、数据共享等信息流,以及云端协同功能,确保 ADC 的自动缺陷分类生产过程,并提高模型和缺陷图片的利用率。

结合Karmada多集群管理构建解决方案

一、集群管理:多地域集群统一纳管

不同地域的 K8s 集群注册至中心云系统,中心云系统对多个现地的集群进行管理。

二、应用管理:全局统一部署、监控

通过 Karmada提供的集群统一访问能力,用户在中心云实现可视化大屏等需要聚合成员集群的数据的功能。

1、集群监控

针对在线的集群,中心云系统可对内存、CPU、磁盘、网络流入流出速率、GPU、日志等指标进行监控数据展示,并可切换集群进行数据查看。

资源监控

中心云可以看到和训练云相同的监控,通过 Karmada 聚合层 API 由集群的 Java 程序对 PromQL 封装后提供给前端页面。

2、中心云数据下发

用户在中心云上传的数据,可自由选择下发至指定现地,包括数据集、标注、算子工程、算子镜像以及模型等。

数据集、算子工程、模型,通常是文件,在完成传输后,会保存到本地或NAS等存储中。标注,通常是结构化数据,在完成传输后,会保存到 DB 中。算子镜像,一般导出为 tar 包,在完成传输后,会推送到当前集群的 harbor 中。 中心云除了 Karmada 的控制面以外,也带有自己的业务 K8s 集群,也包括存储,因此可以作为一个中转器。以上均通过 Karmada 的聚合层 API 来调用我们提供的文件上传到 svc,实现了集群和集群之间的调用。

3、跨现地训练

针对某现地训练资源不足的情况下,可通过申请其他现地资源的方式,进行跨现地训练。该功能实现方式为将 A 现地训练所需要的数据集、标注、算子工程、算子镜像等数据发送至 B 现地,通过 B 现地的资源进行训练。再将训练好的模型返回给 A 现地。

原理和中心云数据下发类似,任务所需的数据会直接发送到对应集群,体现了成员集群和成员集群之间的调用关系。

4、可视化大屏

根据中心云注册的现地,统计不同现地的各类指标数据进行大屏展示。在这类大屏中展示实时数据的时候,通过 Karmada 聚合层 API,我们可以方便地直接调用成员集群的 svc,而无需让所有的数据显示都走大数据的离线分析、实时分析,提供更高的时效性。

总结展望

Karmada项目自2021年开源并加入云原生计算基金会(CNCF)成为沙箱项目以来,已经取得了显著的发展与认可。项目于2023年底正式晋升为CNCF的孵化级别项目。这一成就标志着Karmada技术生态获得全球业界的广泛认可,进一步巩固了其在分布式云原生技术领域的领先地位。该项目凭借其创新的多云多集群容器编排能力,已被全球范围内超过30家知名企业所采纳用于构建企业级云原生平台。

 

Karmada的出现,为多云时代的企业提供了一个强大且灵活的容器编排解决方案,它不仅解决了多云管理的痛点,还为企业在云原生旅程中探索更广阔的应用场景提供了坚实的技术支撑。随着云原生技术的不断演进,Karmada有望成为连接和简化多云生态的关键力量,助力企业释放云的全部潜能,加速数字化转型的进程。

 

点击关注,第一时间了解华为云新鲜技术~

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

京东零售广告创意:基于人类反馈的可信赖图像生成

作者:京东零售 冯伟ECCV2024: Towards Reliable Advertising Image Generation Using Human Feedback 链接:https://arxiv.org/abs/2408.00418 摘要:在电商领域,吸引顾客注意力的广告图片至关重要。尽管生成模型可以自动生成图像,但它们往往会产生不符合广告标准的图片,可…

如何分发APP供用户使用?

​在移动互联网时代,APP(应用程序)已成为人们日常生活中不可或缺的一部分。无论是购物、社交、娱乐还是工作,APP都提供了极大的便利。然而,开发一款APP只是第一步,如何将其有效地分发到用户手中,让用户能够轻松下载并使用,才是决定APP成功与否的关键。 一、应用商店分发…

当然不是草台班子-冲刺计划

作业所属课程 软件工程2024作业要求 2024秋软工实践团队作业-第三次( Alpha冲刺)作业目标 做出alpha冲刺的计划团队名称 当然不是草台班子团队成员学号 姓名102201427 侯丽珂102201426 郑嘉祺102201241 戴康怡102201218 肖晗涵112200328 谢李东292300304 陈鹭102201242 魏儀阳…

设备管理系统功能拆解——设备档案管理

设备档案管理是设备管理系统中的一个核心组成部分,简单来说,它就是对设备的所有信息进行系统化的记录与管理,包括设备的基本数据、使用情况以及维护历史等。 如果一个工厂里数十台设备同时运转,没有准确的设备档案—— 设备出现故障时,管理者如何能迅速找到相关信息? 当需…

jenkins环境搭建

linux安装maven及环境配置 一、maven下载地址,安装binaries版本 https://dlcdn.apache.org/maven/maven-3/3.8.8/ 或者使用wget命令命令:wget https://https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-src.tar.gz二、解压命令:tar -zxvf apache-…

快速上手 KSQL:轻松与数据库交互的利器

上次我们通过 Docker 安装了 KingbaseES 数据库,今天我们将开始学习并快速上手使用 KSQL。简单来说,KSQL 本质上是一个客户端工具,用于与数据库进行交互。启动后,我们可以像使用普通的 SQL 一样执行查询和操作,这将是一个很好的练习机会。 同时,我们也可以借此机会探索 K…

数字能量的职场释放:实物量法诠释效率的多维度

在数字时代,职场对效率的要求不再单纯体现在“加快节奏”或“完成任务”上,更需要具备一种深度理解和动态管理的能力。我们常听到“全局观”“统筹管理”等术语,但如何实现这一点?如何在多维度的职场场景中释放效率,实现自我与团队的数字化能量? 这里引入一个概念——“实…

无聊的我啊~~~~~

本文来自博客园,作者:一石数字欠我15w!!!,转载请注明原文链接:https://www.cnblogs.com/52-qq/p/18545476

delphi cxgrid 增加选择框

cxgrid是自带选择框的表格,开启 设置如下。 然后 后台获取 前端选中的记录字段值。用下面语句。for I := 0 to Gview1.DataController.GetSelectedCount-1 do begin // 第一个值选中的 行 。 第二个值要获取值的字段索引 从 0 开始。。这里获取第2个字段 ShowMessag…

刷题答题脚本—接入AI (python+css)

刷题答题脚本———接入AI github地址:https://github.com/LY-zhang-yi-hao/do-homework-AI-python 创作不易,github点个star,有时间分享更多实用代码,谢谢! 本项目使得刷题的脚本的编写下限变低,利用阿里云模型回答问题,不需要进行题库的编写或网页搜索。 将问题发送给…

我的前端成长之路

原作者:玉伯 链接:https://www.yuque.com/yubo/morning/grow-up-at-alibaba 来源:语雀

【Unity】仓库逻辑:拾取物体进仓库和扔掉物品

unity中实现仓库逻辑:玩家前后左右移动,碰到的物体放入仓库,点击仓库中的物体扔回3D中需求说明 目标:实现玩家移动过程中,拾取物体,物体被放入仓库;点击仓库中物体,重新扔回3D场景中逻辑。 逻辑分析:需要玩家可以移动; 需要检测玩家和物体的碰撞,并摧毁物体; 需要识…