草庐IT

Karmada多云多集群生产实践专场圆满落幕

华为云开发者社区 2023-03-28 原文
摘要:CNCF Karmada社区Cloud Native Days China 2022南京站成功举办。

本文分享自华为云社区《Karmada多云多集群生产实践专场圆满落幕|Cloud Native Days China 2022 南京站》,作者: 云容器大未来。

12月3日,CNCF Karmada社区Cloud Native Days China 2022南京站成功举办。Cloud Native Days China是CNCF与华为云联合发起的云原生技术交流活动,专注技术探讨和趋势挖掘。2022 南京站线下专场聚焦云原生多云多集群生产实践,华为云、vivo互联网、中国移动云、飓风引擎、DaoCloud、浙大SEL实验室等行业专家现场分享,探讨云原生多云多集群生产实践和发展。

本次活动吸引了来自南京地区为主,30余家企业、单位的开发者和多云多集群关注者现场与会。Karmada社区Maintainer、华为云云原生开源团队任洪彩老师欢迎了与会嘉宾和朋友们的到来。Karmada是CNCF(云原生计算基金会)首个多云容器编排项目,于2021年4月25日在华为云开发者大会上正式开源,帮助用户解决多云容器集群管理的挑战 。使用Karmada可以构建无限可扩展的容器资源池,像使用一个K8s集群一样使用多云。任洪彩老师同时向与会开发者表达了持续增强核心竞争力、倾听用户声音快速迭代、加大企业落地支持力度、完善社区开放治理模型等社区展望。

Karmada社区Maintainer、华为云云原生开源团队 任洪彩

vivo互联网高级研发工程师张荣老师分享了vivo基于Karmada的容器平台落地实践。vivo互联网自2021年11月开启联邦集群调研,对比了Karmada、clusternet、Federation v2、OCM,通过kubemark模拟2000节点、P50/P99时延/QPS/错误率、故障调度演练并最终选择了Karmada。张荣老师从Karmada集群运维、面向应用的多集群持续发布、面向应用的多集群弹性伸缩、Karmada灰度上线等方向介绍了vivo x Karmada的融合应用。经过1年的Karmada实践,vivo互联网在已有技术方向和业务场景积累了部分解决方案,并将统一调度、统一管理纳入后续的升级和规划。

vivo基于Karmada的容器平台落地实践 | vivo互联网高级研发工程师 张荣

飓风引擎 (Hurricane Engine) 容器基础设施负责人徐元昌老师分享了Karmada 在飓风引擎的实践和演进。为了更好地提升资源利用率和降低 AI 训练的成本, 飓风引擎在容器上进行了 GPU 虚拟化,将底层基础设施全面云原生化, 接入社区海量能力,借助 Karmada 可将低代码平台生产的应用快速交付到多个区域。同时,飓风引擎基于 Karmada 的去中心化方向探索,增加了一层去中心化的能力:集群和工作负载提供全局最终一致性同步;管理流量容忍拜占庭故障, 让每个 site 可以自治, 帮助企业垂直上云, 快速进行数字化转型。

Karmada 在飓风引擎的实践和演进| 飓风引擎容器基础设施负责人 徐元昌

中国移动云能力中心的段朦、韩伟森两位老师为大家分享了移动云多集群探索与思考。移动云云数据库MySQL依托K8S容器调度技术,以“易用可维护”为亮点,为客户提供高性价比的云服务。在业务规模的逐渐扩容中,为应对apiserver 负载较大、etcd读写延迟较高、core dns 内存压力大等问题,移动云从动态调度和智能路由两方面进行了方案设计,基于 Karmada 多集群调度和扩展支持多集群动态负载,智能地将不同MySQL实例调度到最优集群;开发AA-Router,通过MySQL端的K8S请求(get/post)判断是分发到Karmada进行调度还是资源汇聚面进行汇聚查询,减小了老集群apiserver的压力,core-dns的压力,提高资源池利用率。

移动云多集群探索与思考 | 中国移动云能力中心 段朦、韩伟森

DaoCloud大容器团队技术负责人张潇老师分享了DaoCloud 结合 Karmada 打造新一代企业级多云平台的实践。KairShip引用Karmada operator、ClusterPedia、CloudTTY等开源组件,为用户提供一键创建多云集群实例、多云权限管理、应用跨集群分发、存储配置跨集群创建、跨集群资源检索、跨集群故障转移等核心能力。基于Karmada 社区 helm charts,实现 Karmada 实例快速创建、更新、卸载以及 D1 D2 的维护,子集群一键接入 Karmada 实例,通过控制器搜集子集群概览信息到 Karmada 实例中,完成多实例的实现和应用。用户使用 Karmada 之后,一键提升为多云应用,后续扩展调度可以直接修改 PP。

DaoCloud 结合 Karmada 打造新一代企业级多云平台的实践 | DaoCloud大容器团队技术负责人 张潇

东数西算是全国网络和算力一体化布局的国家级工程。Karmada核心贡献者、浙大SEL实验室程哲介绍了“东数西算”多云协同在电力系统中的实践。东数西算在应用迁移、数据迁移和流量迁移层面都具有关键需求,从“边云”到“多云”,使用Karmada支持多种部署策略和优雅的故障迁移性能,实现应用平滑迁移;在数据迁移层面,融合Karmada Velero CRD等可良好实现实时数据同步和数据备份恢复;流量迁移层面,使用Karmada控制面实现多集群Ingress统一流量入口,多集群Service实现多集群服务发现、负载均衡,Submariner打通集群间网络(部署扁平化网络)。

“东数西算”多云协同在电力系统中的实践 | 浙大SEL实验室 程哲

Karmada社区发展一年多来,受到越来越多企业和用户的肯定及采用。Karmada日前开展了百倍集群规模测试,测试了Karmada同时管理100个5k节点和2wPod的Kubernetes集群的用户场景,根据测试结果分析,Karmada可以稳定支持100倍大规模集群,满足用户在大规模生产落地的需要。在本次多云多集群专场活动中,华为云容器研发工程师沈铁成为大家做了百倍集群大规模测试分享。在大规模基础设施的支撑上,Karmada本身基于Kubernetes的架构优势,提供Pull和Push多模式支撑大规模集群搭建,优化场景资源消耗,涵盖了私有云和边缘相关的场景,为大规模集群提供高性能管理。未来Karmada社区将聚焦多集群系统的典型场景不断优化,促进生产落地。

Karmada百倍集群规模多云基础设施体系揭秘 | 华为云容器研发工程师 沈铁成

除了嘉宾的专题分享,在问答环节,开发者们也十分踊跃。就嘉宾们分享的内容,以及多云多集群的部署和生产应用,与会者们积极提问互动,与嘉宾一起开展技术探讨。会后问卷抽奖开启,增进了Karmada和伙伴们的进一步了解。

已是冬日,但枫林如火,正如CNCF Karmada社区Cloud Native Days China 2022南京站参会开发者们的热情,和嘉宾们的精彩分享,共同实现了这一次难忘而珍贵的技术交流行程。

Karmada社区开源已来,已经走过一年多的旅程,与合作伙伴同行,Karmada已完成了跨集群调度、资源管理、多集群服务治理、多集群应用的高可用、多集群运维、声明式资源解释器等特性建设,并在10余家企业完成落地应用。我们也期待更多已经在关注和评测Karmada的企业和用户,可以联系我们(社区助手:k8s2222 公众号:Karmada),我们一起协力完成多云多集群的部署;在未来,Karmada也期待更多合作伙伴和开发者们,可以一起进行社区共建,共同应对企业效能化发展进程中,多云容器集群管理的挑战!

附:Karmada社区技术交流地址

项目地址:https://github.com/karmada-io/karmada

Website: https://karmada.io

Slack地址:https://slack.cncf.io/(#karmada)

 

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

有关Karmada多云多集群生产实践专场圆满落幕的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  3. ruby-on-rails - 在 Rails 中调试生产服务器 - 2

    您如何在Rails中的实时服务器上进行有效调试,无论是在测试版/生产服务器上?我试过直接在服务器上修改文件,然后重启应用,但是修改好像没有生效,或者需要很长时间(缓存?)我也试过在本地做“脚本/服务器生产”,但是那很慢另一种选择是编码和部署,但效率很低。有人对他们如何有效地做到这一点有任何见解吗? 最佳答案 我会回答你的问题,即使我不同意这种热修补服务器代码的方式:)首先,你真的确定你已经重启了服务器吗?您可以通过跟踪日志文件来检查它。您更改的代码显示的View可能会被缓存。缓存页面位于tmp/cache文件夹下。您可以尝试手动删除

  4. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  5. ruby-on-rails - Rails 中同一个类的多个关联的最佳实践? - 2

    我认为我的问题最好用一个例子来描述。假设我有一个名为“Thing”的简单模型,它有一些简单数据类型的属性。像...Thing-foo:string-goo:string-bar:int这并不难。数据库表将包含具有这三个属性的三列,我可以使用@thing.foo或@thing.bar之类的东西访问它们。但我要解决的问题是当“foo”或“goo”不再包含在简单数据类型中时会发生什么?假设foo和goo代表相同类型的对象。也就是说,它们都是“Whazit”的实例,只是数据不同。所以现在事情可能看起来像这样......Thing-bar:int但是现在有一个新的模型叫做“Whazit”,看起来

  6. ruby-on-rails - 向 Rails 3 添加 Ruby 扩展方法的最佳实践? - 2

    我有一个要在我的Rails3项目中使用的数组扩展方法。它应该住在哪里?我有一个应用程序/类,我最初把它放在(array_extensions.rb)中,在我的config/application.rb中我加载路径:config.autoload_paths+=%W(#{Rails.root}/应用程序/类)。但是,当我转到railsconsole时,未加载扩展。是否有一个预定义的位置可以放置我的Rails3扩展方法?或者,一种预先定义的方式来添加它们?我知道Rails有自己的数组扩展方法。我应该将我的添加到active_support/core_ext/array/conversion

  7. Ruby 最佳实践 : working with classes - 2

    参见下面的示例,我想最好使用第二种方法,但第一种也可以。哪种方法最好,使用另一种的后果是什么?classTestdefstartp"started"endtest=Test.newtest.startendclassTest2defstartp"started"endendtest2=Test2.newtest2.start 最佳答案 我肯定会说第二种变体更有意义。第一个不会导致错误,但对象实例化完全过时且毫无意义。外部变量在类的范围内不可见:var="string"classAvar=A.newendputsvar#=>strin

  8. ruby - 存储外部 API 的密码 - 最佳实践 - 2

    如果我构建了一个应用程序来访问来自Gmail、Twitter和Facebook的一些数据,并且我希望用户只需输入一次他们的身份验证信息,并且在几天或几周后重置,那会怎样是在Ruby中动态执行此操作的最佳方法吗?我看到很多人只是拥有他们客户/用户凭证的配置文件,如下所示:gmail_account:username:myClientpassword:myClientsPassword这看起来a)非常不安全,b)如果我想为成千上万的用户存储此类信息,它就无法工作。推荐的方法是什么?我希望能够在这些服务之上构建一个界面,因此每次用户进行交易时都必须输入凭据是不可行的。

  9. ruby-on-rails - 使用设计身份验证的 API 访问 - 最佳实践? - 2

    我正在使用Devise在Rails应用程序中,并希望通过API公开一些模型数据,但应该像应用程序一样限制对API的访问。$curlhttp://myapp.com/api/v1/sales/7.json{"error":"Youneedtosigninorsignupbeforecontinuing."}很明显。在这种情况下是否有访问API的最佳实践?我更喜欢一步验证+获取数据,但这只是为了让客户的工作更轻松。他们将使用JQuery在客户端提取数据。感谢您提供任何信息!凡妮莎 最佳答案 我建议您按照以下帖子中的选项2:使用APIke

  10. ruby-on-rails - 在多个页面上使用相同表单的 Rails 最佳实践 - 2

    我正在开发一个Rails2.3.1网站。在整个网站中,我需要一个用于在各种页面(主页、创建帖子页面、帖子列表页面、评论列表页面等)上创建帖子的表单——只要说这个表单需要在由各种Controller)。这些页面中的每一个都显示在相应的Controller/操作中检索到的各种其他信息。例如,主页列出了最新的10篇文章、从数据库中提取的内容等。因此,我已将帖子创建表单移动到它自己的部分中,并将该部分包含在所有必要的页面中。请注意,部分POST中的表单到/questions(路由到PostsController::create——这是默认的Rails行为)。我遇到的问题是当Posts表单没有正

随机推荐